A*-algoritmus
A*-algoritmus → algoritmus A*
A*-algoritmus → algoritmus A*
abstraktná syntéza logického obvodu — inform. proces získavania formálneho opisu správania navrhovaného logického obvodu (napr. vo forme boolovských funkcií, automatu, VHDL ap.) zo slovného opisu správania v prirodzenom jazyku.
abstraktný typ údajov — inform. typ údajov opísaný ako množina objektov a množina operácií nad nimi, pričom pri opise sa nehľadí na možný spôsob zápisu (reprezentácie) údajov v počítači ani na možný spôsob implementácie operácií nad nimi. Pri formálnom definovaní sa uvažuje množina druhov (z ktorých jeden označuje opisovaný abstraktný typ údajov), množina operácií nad druhmi a množina axióm. Množina druhov a množina operácií tvoria signatúru abstraktného typu údajov. Axiómy vymedzujú sémantiku operácií.
ACM, angl. Association for Computing Machinery — najväčšia a najstaršia medzinárodná vedecká vzdelávacia spoločnosť zameraná na informačnú techniku a jej využitie v priemysle. Založená 1947.
ADA, Ada — inform. procedurálny programovací jazyk vyvinutý 1979 pod patronátom amerického ministerstva obrany s cieľom podporovať vývoj a údržbu veľkých meniacich sa softvérových systémov. Považuje sa za nasledovníka programovacieho jazyka pascal. Podporuje štruktúrované programovanie, abstraktné typy údajov, zapuzdrenie údajov, paralelné programovanie a tvorbu systémov reálneho času. Nazvaný podľa Ady Lovelace.
administrácia [lat.] —
1. administratívne zabezpečenie, spravovanie;
2. výkonný orgán, správa inštitúcie;
3. inform. spravovanie počítačových systémov.
administrátor [lat.] —
1. ekon. člen správnej rady účastinnej spoločnosti vymenovaný pri založení spoločnosti štatútom alebo na zakladajúcom valnom zhromaždení účastinárov. Delegovaný administrátor zastupuje funkciu prezidenta akciovej spoločnosti, ak zvolený prezident nemôže túto činnosť vykonávať alebo ak zomrel;
2. inform. v počítačových systémoch používateľská rola s rozšírenými právami;
3. náb. biskup alebo kňaz, ktorý v zastúpení vedie duchovnú správu; v katolíckej cirkvi podľa Kódexu kánonického práva kňaz, ktorý z ustanovenia diecézneho biskupa zastupuje farára počas jeho neprítomnosti (→ apoštolský administrátor; → farský administrátor). V evanjelickej a. v. cirkvi je administrátor vymenovaný seniorom.
adresa [fr.] —
1. v poštovom styku údaj o mene, mieste alebo o spôsobe dodania (poštový priečinok, P. O. Box doplnený číslom, poste restante), prepravné údaje (poštové smerovacie číslo s názvom dodacej pošty); pri zásielkach do cudziny aj krajina určenia;
2. inform. celé číslo bez znamienka používané na výber pamäťovej bunky z hlavnej pamäte počítača alebo z iných pamätí a zariadení. Adresu generuje spravidla procesor a vysiela ju na adresovú zbernicu, ktorá môže byť pripojená k pamäti, k jednotke správy pamäte, príp. k iným zariadeniam. Vzhľadom na rôzne adresovacie mechanizmy (→ adresovanie, → virtuálna pamäť) sa používajú aj bližšie špecifikujúce označenia adresy (absolútna adresa, relatívna adresa, virtuálna adresa, fyzická adresa). Konečným cieľom použitia adresovacích mechanizmov je určenie efektívnej adresy (skutočnej adresy). V elektronickej pošte je adresa symbolické označenie elektronickej poštovej schránky používateľa, ktorá slúži na príjem a uchovávanie korešpondencie;
3. → inskripcia.
adresár [fr.] —
1. zvyčajne abecedne zoradený zoznam položiek s menami objektov (osoba, inštitúcia, služba ap.) a s ďalšími informáciami o nich (bydlisko, sídlo a i.). Meno slúži na nájdenie (sprístupnenie) informácií o objekte;
2. inform. angl. directory, adresár súborov — dátová štruktúra, ktorej objekty sú súbory alebo iné adresáre. Adresár o každom objekte obsahuje informácie ako napr. meno, atribúty (prístupové práva ap.), adresu uloženia na pamäťovom médiu, dátum vytvorenia a dátum modifikácie. Ak objektom v adresári je adresár, vzniká stromová, hierarchická štruktúra adresárov – adresárový strom (angl. directory tree). Hierarchicky najvyšší adresár, teda adresár na vrchole tejto štruktúry (t. j. taký, ktorý nie je súčasťou iného adresára), sa označuje termínom koreňový adresár (angl. root directory). Súbor môže byť prístupný z niekoľkých adresárov, keď hierarchická štruktúra nemá tvar stromu, ale acyklického grafu. Používateľ môže pre daný program vybrať jeden pracovný adresár (angl. working directory), ktorý sa použije na načítavanie a ukladanie súborov bez dodatočného zadania cesty (→ cesta k súboru). V operačnom systéme počítača môže byť len jeden adresárový strom (napr. v operačných systémoch typu UNIX; v tom prípade sa jednotlivé adresáre a súbory môžu nachádzať na rôznych pamäťových médiách alebo dokonca aj na iných počítačoch) alebo na každom zariadení je vytvorený nezávislý adresárový strom (v operačných systémoch MS-DOS a Windows).
adresovanie [fr.] — inform. mechanizmus určovania efektívnej adresy inštrukcií alebo operandov inštrukcií.
Základné spôsoby adresovania operandov sú:
priame adresovanie – adresa operandu sa udáva priamo v inštrukcii, napr. v inštrukcii presuň do zhromažďovača obsah pamäťovej bunky s adresou 10 (LDA 10) je adresa zdroja (pamäťová bunka s adresou 10, odkiaľ sa presunie údaj) daná priamo ako súčasť inštrukcie;
implicitné adresovanie – operand je daný implicitne inštrukciou, napr. v inštrukcii LDA 10 je cieľový register (zhromažďovač), kam sa údaj presunie, daný implicitne;
bezprostredný operand – v inštrukcii sa neudáva adresa operandu, ale priamo operand;
nepriame adresovanie – v inštrukcii sa udáva adresa, na ktorej sa nachádza adresa operandu. Hodnoty adries operandov môžu byť v inštrukcii vyjadrené buď absolútne, alebo relatívne. Pri absolútnom adresovaní sa adresa udáva úplne a predstavuje vlastne efektívnu adresu. Tento spôsob vedie spravidla k potrebe veľkého počtu bitov adresovej časti formátu inštrukcie (napr. pri pamäti 16 MB treba 24 bitov adresy). Pri relatívnom adresovaní sa hodnota adresy v inštrukcii vyjadruje relatívne k začiatku segmentu. Adresa začiatku segmentu je v bázovom registri. Tento spôsob adresovania si vyžaduje menší počet bitov adresovej časti formátu inštrukcie, efektívnu adresu operandu však treba vypočítať pomocou sčítačky.
Adresovanie inštrukcií je priame podľa obsahu programového počítadla, pričom hodnota adresy môže byť určená absolútne alebo relatívne.
adresový priestor — inform. množina adries, ktoré môže procesor sprístupniť. Veľkosť adresového priestoru zvyčajne závisí od šírky (počtu bitov) registrov procesora a šírky adresovej zbernice. Adresový priestor môže zodpovedať virtuálnym (pri adresovaní virtuálneho adresového priestoru, → virtuálna pamäť) alebo fyzickým adresám (pri adresovaní fyzického adresového priestoru). V niektorých počítačoch (IBM PC) sa adresový priestor delí na pamäťový adresový priestor (adresy hlavnej pamäte počítača) a vstupno-výstupný pamäťový priestor (adresy registrov vstupných a výstupných zariadení).
aktivita v systéme — inform. na zvolenej úrovni pohľadu na diskrétny systém elementárna, ďalej nedeliteľná činnosť trvajúca konečný čas. Začiatok aj ukončenie aktivity v systéme je udalosťou v systéme. Pomocou aktivity v systéme je možné opísať správanie systému.
algol 60, Algorithmic Language 1960 — jeden z prvých procedurálnych programovacích jazykov, vhodný na vedecké výpočty. Prvý jazyk, ktorého syntax bola definovaná v Backusovom-Naurovom tvare. Algol 60 sa nikdy komerčne nerozšíril a dnes sa používa veľmi zriedkavo. Historicky je dôležitý pre nové myšlienky, ktoré zaviedol do programovania: bloky (→ štruktúrované programovanie), rekurzia, explicitná deklarácia typov premenných.
algoritmická rozhodnuteľnosť — inform. algoritmická riešiteľnosť úlohy. Úloha (pre jednoduchosť stačí uvažovať úlohu, v ktorej sa požaduje rozhodnúť, či má daný prvok zvolenú vlastnosť) je rozhodnuteľná pre nejakú množinu prvkov vtedy, ak existuje algoritmus, ktorý určí pre každý prvok z uvažovanej množiny, či zvolenú vlastnosť má alebo nie, t. j. či je riešením úlohy alebo nie. Množina M, ktorá je podmnožinou množiny N, je rozhodnuteľná vzhľadom na N vtedy, ak existuje algoritmus, ktorý pre každý prvok n z N určí, či n patrí do M alebo nie. Množstvo úloh je algoritmicky rozhodnuteľných; pre tieto úlohy možno v prípade potreby napísať program implementujúci navrhnutý algoritmus a úlohu riešiť na počítači. Množstvo úloh je však algoritmicky nerozhodnuteľných. Napr. je známe, že úloha určiť pri ľubovoľnom algoritme a jeho ľubovoľnom vstupe, či sa vykonávanie algoritmu ukončí po konečnom počte krokov, je algoritmicky nerozhodnuteľná. V teórii vypočítateľnosti sa dá totiž dokázať, že neexistuje (a teda ani nikdy v budúcnosti nebude existovať) algoritmus, ktorý by na takúto otázku vedel odpovedať.
algoritmus [arab. + gr.] — procedúra pozostávajúca z konečnej postupnosti jednoznačných na seba nadväzujúcich matematicko-logických krokov určitej triedy vedúca k pozitívnemu alebo negatívnemu rozhodnutiu o riešiteľnosti úlohy, od zadania úlohy k jej vyriešeniu, od daných objektov k novému objektu (pri konštrukcii objektu) a pod. Jednoduchými príkladmi algoritmov sú aritmetické pravidlá sčitovania, násobenia, odmocňovania a iné. Základnými vlastnosťami, ktoré každý algoritmus musí mať, sú determinovanosť (predpis určuje, ktorou operáciou sa má riešenie začať a ktorá operácia má po každej vykonanej operácii nasledovať, pričom určenie musí byť dostatočne presné, aby sa dalo vykonať mechanicky), hromadnosť (algoritmus slúži na riešenie celej triedy úloh, napr. Euklidovým algoritmom sa vypočíta najväčší spoločný deliteľ dvoch ľubovoľných celých čísel) a rezultatívnosť (použitie algoritmu na vstupné údaje sa musí vždy skončiť po konečnom počte krokov a po skončení musí dať algoritmus hľadaný výsledok).
Názov algoritmus pochádza z polatinčeného mena arabského vedca 9. stor. al-Chvárizmího (Algorizmi, Algorithmi), ktorý opísal pravidlá vykonávania základných aritmetických operácií. Pojem algoritmus je však oveľa starší. Uvedený Euklidov algoritmus bol známy okolo roku 300 pred n. l. Dôležitosť formulovania algoritmov na riešenie najrôznejších úloh a nutnosť skúmania algoritmov a ich vlastností vzrástla najmä s rozvojom počítačov. Uvedená charakterizácia algoritmov však na opis výpočtových procesov v počítačoch nestačí. Preto existuje viacero formalizácií pojmu algoritmus, napr. pomocou Turingovho stroja.
algoritmus A* — v umelej inteligencii základný algoritmus heuristického hľadania riešenia. Heuristická informácia v tvare vyhodnocovacej funkcie slúži na odhad vzdialenosti jednotlivých stavov hľadania od úspešného riešenia. Hľadanie pokračuje v stave, ktorý je podľa odhadu najbližšie k riešeniu (v najsľubnejšom stave). Za určitých podmienok nájde algoritmus A* optimálne riešenie vždy, ak také existuje.
Amdahl [emdál], Gene Myron, 16. 11. 1922 Flandreau, Juž. Dakota – 10. 11. 2015 Palo Alto, Kalifornia — americký informatik, vývojový pracovník firmy IBM, návrhár počítačov IBM série 360. Zakladateľ vlastnej firmy (Amdahl Corporation) produkujúcej a dodávajúcej veľké sálové počítače, servery a aplikačné softvérové systémy.
Americký úrad pre normalizáciu, anglicky American National Standards Institute, ANSI — úrad v USA zodpovedný za schvaľovanie a vydávanie noriem a štandardov v rôznych oblastiach vrátane informačnej techniky. Je členom Medzinárodnej organizácie pre normalizáciu (ISO).
analógový počítač — elektronický výpočtový systém spracúvajúci premenné veličiny daného problému pomocou iných, spojito sa meniacich fyzikálnych veličín (napr. elektrické napätie, elektrický prúd) a umožňujúci výsledky riešenia v tvare priebehov strojových premenných pozorovať, registrovať alebo vhodným spôsobom merať, pričom strojové premenné spĺňajú vzťahy analogické vzťahom medzi veličinami pôvodného systému. Analógový počítač je určený najmä na riešenie problémov dynamiky fyzikálnych sústav. Skladá sa z počítacích obvodov vykonávajúcich rôzne operácie so spojito sa meniacimi veličinami. Matematicky formulovaný problém sa rozloží na základné matematické operácie a určí sa postup výpočtu. Každá základná operácia sa vykonáva samostatným počítacím obvodom a výpočet prebieha vo všetkých obvodoch súčasne. Príprava na riešenie spočíva v nastavení obvodov na riešenie určených základných operácií a v ich vzájomnom prepojení pomocou programového panela. Počítacie obvody navzájom spojené na riešenie úlohy tvoria počítaciu sieť.
analógový signál, spojitý signál — signál nadobúdajúci určitú hodnotu v každom časovom okamihu, reprezentovaný elektrickým napätím, prúdom alebo inou fyzikálnou veličinou; matematicky ho možno opísať spojitou funkciou.
analytický stroj — mechanický stroj na automatickú realizáciu výpočtového procesu všeobecného charakteru navrhnutý Ch. Babbageom 1833 – 36. Z hľadiska rozkladu výpočtového procesu na sekvencie elementárnych operácií a na ich automatické realizácie ide o predchodcu súčasných počítačov. Umožňoval realizáciu takých programových konštrukcií, ako sú podmienený príkaz a cyklus. Babbageove myšlienky o tzv. programovaní analytického stroja ďalej rozpracovala a rozšírila A. Lovelace. Analytický stroj nebol nikdy kompletne postavený.
analýza algoritmov — špeciálna disciplína informatiky zaoberajúca sa skúmaním takých vlastností algoritmov, ako je správnosť, množstvo času potrebného na vykonanie výpočtových krokov pri výpočte, množstvo pamäte potrebnej na vykonanie výpočtu, opisná jednoduchosť alebo optimálnosť. Pri analýze správnosti vzhľadom na danú vstupno-výstupnú špecifikáciu je základnou metódou formálne dokazovanie. Pri analýze množstva času i pamäte (analýza časovej, resp. pamäťovej zložitosti) sa abstrahuje od počítača i od konkrétnych vstupných údajov. Analýza sa vykonáva pre zvolený zjednodušený model počítača, pričom sa hľadá závislosť množstva času, resp. pamäte, od rozsahu vstupných údajov. Najčastejšie sa analyzuje príslušná závislosť pre najhorší možný prípad alebo pre priemerný prípad vzhľadom na možné hodnoty vstupných údajov. Optimálnosť algoritmu sa hodnotí vzhľadom na časovú, resp. pamäťovú zložitosť úlohy, t. j. vychádza sa z určenia dolného ohraničenia zložitosti ľubovoľného algoritmu, ktorý by riešil špecifikovanú úlohu. Pri špeciálnej triede algoritmov možno analyzovať aj ďalšie vlastnosti (napr. pri paralelných algoritmoch sa skúma aj zložitosť vzhľadom na počet procesorov).
analýza a špecifikácia používateľských požiadaviek — inform. jedna z etáp životného cyklu softvérového systému; proces transformácie neformálnych používateľských požiadaviek na ich komplexný a štruktúrovaný opis, t. j. na opis systému, ktorý používateľ požaduje vytvoriť. Východiskom tejto etapy je oboznámenie sa s prostredím, v ktorom bude systém v budúcnosti nasadený, a s problémami, ktoré má systém riešiť. Vstupom do etapy sú používateľské požiadavky vyjadrené prirodzeným jazykom. Priebežným výstupom etapy pre softvérový systém môže byť opis súčasného systému spracovania informácií, t. j. funkčný a údajový model súčasného systému spracovania informácií, identifikované problémy spracovania a požiadavky na cieľový systém. Cieľovým výstupom etapy je špecifikácia požiadaviek na vytváraný softvérový systém, ktorý obsahuje funkčný, údajový a časový model vytváraného softvérového systému. Vytvorená špecifikácia požiadaviek má poskytnúť jasnú, konzistentnú a neprotirečivú predstavu o fungovaní budúceho systému.
analýza logického obvodu — inform. proces získania formálneho opisu správania logického obvodu (napr. vo forme boolovských funkcií, automatu, VHDL ap.) z opisu štruktúry (zapojenia) obvodu a opisu správania prvkov obvodu.
analýza obrazu — inform. → spracovanie obrazu
analýza textúr — inform. → textúra
AND → funkcia AND
AND-NOR → funkcia AND-NOR
aplikácia [lat.] —
1. uplatnenie, využitie teoretických poznatkov v praxi; prispôsobenie niečoho;
2. spôsob zdobenia, pri ktorom sa na podkladovú textíliu našíva (prípadne lepí, leptá, natavuje) vystrihnutý vzor z odlišného materiálu;
3. ozdoba (napr. nášivka) zhotovená týmto spôsobom zdobenia;
4. inform. → aplikačné programové vybavenie; → databázová aplikácia.
aplikačné programové vybavenie — inform. počítačové programy zamerané na riešenie úloh používateľov, napr. spracovanie údajov, inžinierske výpočty, počítačové hry ap., čím sa líšia od systémového programového vybavenia. Aplikačné programové vybavenie je určené konkrétnemu používateľovi (zákaznícke aplikačné programové vybavenie) alebo otvorenej skupine (aplikačné programové vybavenie na všeobecné použitie); rieši špecifickú alebo všeobecnú úlohu, resp. úlohy (→ balík programov).
aplikatívne programovanie — inform. štýl programovania, v ktorom sa želaný výpočet opíše výrazom. Aplikáciou (vyhodnotením) výrazu sa získava požadovaný výsledok. Vysokou úrovňou abstrahovania od toho, ako sa výpočet vykonáva, chápe programovanie ako deklarovanie typu výpočtu (→ deklaratívne programovanie). Ak sa ako základný výrazový prostriedok použijú funkcie, ide o funkcionálne programovanie. Ak sú základným výrazovým prostriedkom relácie opísané logickými predikátmi, ide o logické programovanie. Niekedy sa pojmy aplikatívne a funkcionálne programovanie používajú ako synonymá.
aplikatívny jazyk — inform. programovací jazyk, v ktorom sa ako základný výrazový prostriedok používa výraz a ako riadiaca konštrukcia aplikácia (vyhodnotenie) výrazu (→ aplikatívne programovanie).
argument funkcie —
1. prvok definičnej oblasti zobrazenia (funkcie); množina argumentov funkcie tvorí definičnú oblasť; napr. funkcia \(y=2x^{2}+3\) pre argument \(1\) (hodnotu premennej) nadobúda funkčnú hodnotu \(5\);
2. zložka aplikácie funkcie, ktorá spolu s funkciou určuje funkčnú hodnotu; napr. vo výraze \(f(a),\) kde \(f\) je nejaká funkcia, výraz \(a\) reprezentuje príslušný argument funkcie a zátvorky \((\) \()\) predstavujú operáciu aplikácie funkcie na argument. Napr. funkcia byť filozofom priraďuje argumentu Sokrates pravdivostnú hodnotu pravda;
3. inform. hodnota odovzdávaná funkcii alebo procedúre, či podprogramu potrebná na vyhodnotenie funkcie alebo na vykonanie procedúry či podprogramu. Argument sa niekedy označuje ako skutočný parameter (→ parameter funkcie).
architektúra databázových systémov — špecializovaná disciplína informatiky zaoberajúca sa navrhovaním štruktúry databázového systému a jeho zložiek, ktoré majú stanovené funkcie a vzájomné vzťahy; aj schéma konkrétneho databázového systému vyjadrujúca jeho základnú štrukturálnu organizáciu. Architektúra databázových systémov poskytuje spôsoby abstraktného opisu štruktúry databázových systémov, ako aj princípy a pravidlá, ktorými sa riadi ich návrh a vývoj v čase. K najznámejším patrí trojúrovňová architektúra (známa aj ako ANSI/SPARC architektúra) navrhnutá na dosiahnutie oddelenia programov od údajov, na podporu viacerých používateľských pohľadov a na použitie údajového slovníka (katalógu údajov) na uschovanie opisu databázy (schémy). Schémy môžu byť definované na troch úrovniach:
1. Vnútorná úroveň má vnútornú schému, ktorá opisuje fyzické pamäťové štruktúry databázy. Vnútorná schéma používa fyzický údajový model a opisuje detaily úschovy údajov a prístup k nim pre databázu.
2. Konceptuálna úroveň má konceptuálnu schému, ktorá opisuje štruktúru celej databázy pre komunitu používateľov. Konceptuálna schéma je globálny opis databázy, ktorá skrýva detaily fyzických pamäťových štruktúr a koncentruje sa na opis entít, typu údajov, vzťahov a ohraničení. Na to slúži vysokoúrovňový údajový model alebo implementačný údajový model.
3. Externá (vonkajšia) úroveň (úroveň pohľadov) zahŕňa množstvo externých schém alebo používateľských pohľadov. Každá externá schéma opisuje databázový pohľad jednej skupiny používateľov databázy. Každý pohľad opisuje časť databázy, ktorú zaujíma určitú skupinu používateľov a ukrýva zvyšok databázy.
architektúra klient-server — inform. → klient-server.
architektúra počítačových systémov — špecializovaná disciplína informatiky, ktorá študuje správanie počítača navonok (funkciu počítača), prepojenie jednotlivých funkčných jednotiek počítača (štruktúru počítača), dynamické interakcie medzi jednotlivými funkčnými jednotkami a riadenie styku medzi nimi (organizáciu počítača), ako aj návrh a vnútornú štruktúru jednotlivých funkčných jednotiek (realizáciu počítača). Uvedené štyri zložky architektúry počítačových systémov zahŕňajú všetky informácie o počítačových systémoch. Architektúra počítačových systémov rieši predovšetkým prípady, keď sa návrh celého systému vykonáva na všetkých úrovniach súčasne, pričom sa postupuje zhora nadol. Systematický návrh potom vychádza z funkčného opisu, t. j. z požiadaviek na správanie počítačového systému ako celku. Funkčný opis sa postupne rozpracúva do opisu štruktúry na čoraz nižších úrovniach, pokiaľ sa nedosiahne úroveň detailného opisu schém zapojenia všetkých jednotiek. Pojem architektúra počítačových systémov sa v užšom význame používa aj na označenie špecializovaných riešení koncepcie výpočtového systému (napr. von neumannovská architektúra, architektúra s tokom údajov), jeho častí (napr. architektúra procesorov RISC), prípadne na označenie technologickej realizácie počítačového systému (architektúra VLSI).
Von neumannovská architektúra, nazývaná aj princetonská architektúra, bola formulovaná ešte v 40. rokoch 20. storočia J. von Neumannom a jeho spolupracovníkmi. Základné postuláty tejto koncepcie vychádzali z téz:
1. počítač sa skladá z funkčných jednotiek (pamäť počítača, aritmetická jednotka, vstupná jednotka, výstupná jednotka a riadiaca jednotka);
2. štruktúra počítača je nezávislá od typu riešenej úlohy, funkcia počítača je daná programom, ktorý je uložený v pamäti;
3. pamäť je rozdelená do buniek rovnakej veľkosti, ich poradové čísla sa používajú ako adresy;
4. program je tvorený postupnosťou inštrukcií, ktoré sa vykonávajú v poradí, v akom sú zapísané v pamäti;
5. zmena poradia vykonávania inštrukcií sa realizuje inštrukciou podmieneného alebo nepodmieneného skoku;
6. inštrukcie a operandy sú uložené v tej istej pamäti;
7. na reprezentáciu inštrukcií a čísel sa používajú dvojkové signály a dvojková číselná sústava.
Von neumannovská architektúra je univerzálna počítačová architektúra (tézy 1 a 2) fungujúca na princípe toku inštrukcií (téza 4). V technickej realizácii to znamená, že každý von neumannovský počítač má špeciálny register nazývaný programové počítadlo alebo ukazovateľ inštrukcií, ktorý uchováva adresu vykonávanej inštrukcie. V neskorších realizáciách von neumannovskej architektúry dochádza k integrácii riadiacej a aritmetickej jednotky a zavádzajú sa pojmy procesor, jednotka procesora.
Realizácia von neumannovskej architektúry, v ktorej sa oddelila pamäť programu od pamäte údajov, sa nazýva harvardská architektúra. V 70. rokoch bola formulovaná architektúra s tokom údajov (→ tok údajov). V tejto architektúre sa inštrukcie vykonávajú vtedy, keď majú pripravené všetky operandy, t. j. neexistuje koncepcia programového počítadla. Architektúra s tokom údajov obsahuje tieto jednotky: pamäť s inštrukciami, výberovú jednotku (vyberá z pamäte inštrukcie s pripravenými operandmi), viacero spracovateľských jednotiek (v spracovateľských jednotkách sa vykonávajú inštrukcie) a zarovnávaciu jednotku (jednotka eviduje pripravenosť operandov v jednotlivých inštrukciách).
Viacpočítačová architektúra sa sústreďuje na skúmanie otázok zvyšovania výkonnosti počítačov využívaním dvoch a viacerých počítačov. Je to štrukturálna schéma systému zostaveného z viacerých počítačov – uzlov. Každý uzol je samostatný počítač obsahujúci procesor, lokálnu pamäť, prípadne vstupno-výstupné zariadenia. Všetky lokálne pamäte sú privátne a prístupné iba lokálnym procesorom. V súčasnosti (aj keď zriedkavo) existujú aj viacpočítačové systémy s distribuovanou spoločnou pamäťou. Počítače sú navzájom poprepájané prepájacou sieťou a komunikujú prostredníctvom výmeny správ (→ medziprocesorová komunikácia). Uzly počítačov a prepájacia sieť vytvárajú počítačovú sieť.
Viacprocesorová architektúra sa sústreďuje na skúmanie otázok zvyšovania výkonnosti počítačov využívaním dvoch a viacerých procesorov. Je to štrukturálna schéma počítača zostaveného z viacerých procesorov. Procesory sú navzájom poprepájané prepájacou sieťou a komunikujú prostredníctvom spoločnej pamäte (medziprocesorová komunikácia), ktorá môže byť fyzicky riešená ako centrálna alebo distribuovaná k jednotlivým procesorom, pričom vytvára globálny adresový priestor prístupný všetkým procesorom.
Architektúra VLSI využíva technológiu VLSI (z angl. Very Large Scale Integration – veľmi veľká integrácia) na implementáciu vysoko výkonných algoritmov špeciálnych funkcií technickými prostriedkami počítačového systému; vyznačuje sa paralelnou organizáciou spracúvania informácií, asynchrónnym decentralizovaným riadením, pričom funkcie spracovania, zapamätávania, riadenia a časovania sú zabudované do elementárnych procesorov vhodne prepojených na čipe integrovaného obvodu. Typickým predstaviteľom sú systolické počítače (→ systolická sieť).
archivovanie údajov — inform. proces vytvárania kópie údajov na archivačnom médiu s cieľom chrániť údaje pred stratou alebo zachovať stav údajov. Ako archivačné médiá sa používajú magnetické pásky, pevné disky, diskety, magnetooptické disky, zapisovateľné optické disky (WORM).
aritmeticko-logická jednotka, ALJ, angl. Arithmetic Logic Unit, ALU — inform. integrálna súčasť procesora číslicového počítača určená na vykonávanie operácií nad údajmi zúčastňujúcimi sa na procese spracovania informácie. Obsahuje dvojkovú sčítačku, obvody na tvorbu doplnkového kódu a vykonávanie logických operácií, posúvací obvod a ďalšie funkčné bloky na realizáciu operácií (násobenie, delenie, odmocňovanie ap.) s údajmi zobrazenými s pevnou a (alebo) pohyblivou rádovou čiarkou. Jej činnosť je riadená mikroprogramom alebo obvodom s pevnou funkciou. Môže byť realizovaná aj ako osobitný integrovaný obvod mikroprocesorovej stavebnice najčastejšie formou 2- alebo 4-bitových rezov (→ bitový rez), pričom systém s potrebnou dĺžkou slova sa vytvára ich kaskádovým zapojením.
asociatívna pamäť, pamäť s asociatívnym prístupom, angl. Content Access Memory, CAM — počítačová pamäť s možnosťou čítať z nej a zapisovať do nej. Pamäťová bunka sa sprístupňuje na základe porovnania časti jej obsahu so zadaným dvojkovým reťazcom, kľúčom. Každá asociatívna pamäťová bunka má okrem schopnosti uchovávať jednu dvojkovú číslicu aj možnosť porovnať ju s jedným bitom na príslušnom mieste kľúča. Používa sa najmä vo vyrovnávacích pamätiach, pri dynamickom prideľovaní pamäte, pri realizácii virtuálnej pamäte a v špecializovaných paralelných počítačových systémoch (→ asociatívny počítač, → počítač riadený tokom údajov ap.).
asociatívny počítač — paralelný maticový počítač, ktorého základ tvorí asociatívna pamäť. Je určený na efektívne riešenie úloh vyžadujúcich si operácie manipulácie s údajmi (najmä rozličné druhy vyhľadávania), pričom spravidla umožňuje operácie so slovami a bitovými rezmi údajov uloženými v asociatívnej pamäti.
asymptotický odhad zložitosti — metóda približného odhadu výpočtovej zložitosti algoritmov alebo úloh, ktorý sa tým viac približuje ku skutočnej hodnote, čím viac sa nejaký parameter priblíži k limitnej hodnote.
Predpokladajme, že funkcie \(f\) a \(g\) sú nezáporné. Horným ohraničením funkcie \(f\) je funkcia \(g\) práve vtedy, ak existujú také dve kladné konštanty \(c\) a \(n_0\), že \(f(n) \le c\cdot g(n)\) pre všetky \(n\), \(n \ge n_0,\) čo sa zapisuje ako
\(f(n) = O(g(n)).\)
Dolným ohraničením funkcie \(f\) je funkcia \(g\) práve vtedy, ak existujú také dve kladné konštanty \(c\) a \(n_0\), že \(f(n) \ge c\cdot g(n)\) pre všetky \(n\), \(n\ge n_0\), čo sa zapisuje ako
\(f(n) = \mathrm{\Omega}(g(n)).\)
Okrem zápisov \(O\) a \(\mathrm{\Omega }\) sa zavádza aj zápis \(\Theta\) ako ich kombinácia. Ohraničením funkcie \(f\) je funkcia \(g\) práve vtedy, ak existujú také tri kladné konštanty \(c_1\), \(c_2\) a \(n_0\), že \(c_1\cdot g(n) \le f(n) \le c_2\cdot g(n)\) pre všetky \(n\), \(n\ge n_0\), čo sa zapisuje ako
\(f(n) = \Theta(g(n)).\)
Uvedené zápisy sa používajú na vyjadrenie asymptotického odhadu zložitosti algoritmov. Metóda ich určenia je jednoduchšia, než by bolo presné zisťovanie zložitosti. Ak je napr. asymptotický odhad zložitosti nejakého algoritmu \(O(n)\), znamená to, že pre dostatočne veľké \(n\) presná hodnota zložitosti (napr. času výpočtu alebo množstva pamäte) nie je väčšia než \(c\cdot n\) pre nejaké \(c\). Ak je asymptotický odhad zložitosti nejakého algoritmu \(\mathrm{\Omega }(n^2)\), znamená to, že pre dostatočne veľké \(n\) presná hodnota zložitosti (napr. času výpočtu alebo množstva pamäte) nie je menšia než \(c\cdot n^2\) pre nejaké \(c\). Pomocou asymptotického odhadu zložitosti možno algoritmy aj porovnávať z hľadiska zložitosti. Napr. algoritmus so zložitosťou \(O(n)\) je lepší než algoritmus so zložitosťou \(O(n\cdot \log n)\), ten je lepší než \(O(n^2)\) atď.
asynchrónna komunikácia — inform. spôsob komunikácie, keď odosielateľ pri odosielaní ukladá správu do komunikačného kanála (→ medziprocesová komunikácia) a pokračuje v činnosti. Pri vyčerpaní kapacity kanála odosielateľ čaká, kým sa nevytvorí priestor vybratím. Správy sa prijímajú vyberaním z kanála v poradí ich príchodu (→ front, FIFO). Ak sa v kanáli správy nenachádzajú, prijímateľ čaká, kým odosielateľ uloží správu do kanála. Použitie dátovodu je príkladom asynchrónnej komunikácie procesov.
Atanasoff, John Vincent, 4. 10. 1903 Hamilton, New York – 15. 6. 1995 Monrovia, Maryland — americký vývojár a konštruktér prvých počítačov. R. 1942 spoluautor návrhu špecializovaného elektrónkového počítača ABC (Atanasoff-Berry Computer) určeného na riešenie veľkých systémov lineárnych rovníc (až 29 rovníc), ktorý používal binárnu aritmetiku, bubnovú magnetickú pamäť (60 čísel po 50 bitov), modulárne jednotky a diernoštítkovú vstupno-výstupnú jednotku.
audit softvérového systému — nezávislé hodnotenie softvérového systému alebo procesu jeho tvorby s cieľom zistiť, či samotný produkt alebo proces jeho tvorby zodpovedá definovaným normám, odporúčaniam, technickým podmienkam a pracovným postupom. Hodnotenie vychádza z kritérií definovaných v dokumentoch, ktoré špecifikujú podobu alebo obsah výsledného produktu, proces, akým má byť výsledný produkt vytvorený, a spôsob merania ukazovateľov potrebných na hodnotenie produktu vzhľadom na jeho súlad s normami a odporúčaniami.
automat [gr.] —
1. inform. abstraktný matematický stroj modelujúci proces, v ktorom sa vstupné údaje transformujú na výstupné údaje. Je charakterizovaný množinou stavov, začiatočným stavom, množinou vstupných symbolov (vstupná abeceda), prechodovou funkciou, množinou akceptačných (koncových) stavov a prípadne ďalšími prvkami, napríklad pamäťou. Automat na svojom vstupe načítava znaky vstupného slova a na základe načítaného znaku, aktuálneho stavu a prechodovej funkcie sa jeho stav mení. Rozlišujú sa rozpoznávacie a prekladacie automaty. Rozpoznávací automat (akceptor) určuje, či načítané vstupné slovo patrí alebo nepatrí do nejakého jazyka (→ formálny jazyk). Slovo do jazyka patrí, ak ho automat akceptuje, teda ak je po načítaní všetkých znakov slova v jednom z akceptačných stavov. Jazyk rozpoznávaný automatom je množina všetkých slov, ktoré automat akceptuje. Prekladový automat (transduktor) k vstupnému slovu vypočíta výstupné slovo, čím prekladá slová vstupného jazyka na slová výstupného jazyka. Z hľadiska vybavenia pamäťou sa rozlišujú 4 základné typy automatov: konečný automat, zásobníkový automat, lineárne ohraničený automat a Turingov stroj. Podľa prechodovej funkcie sa automaty delia na deterministické (→ deterministický automat) a nedeterministické (→ nedeterministický automat). Automaty hrajú významnú rolu v teórii vypočítateľnosti, teórii zložitosti, konštrukcii kompilátorov, lexikálnej a syntaktickej analýze, syntéze a analýze logických obvodov a v ďalších oblastiach.
2. stroj. zariadenie, prístroj alebo stroj schopný riadiť činnosť alebo funkciu objektu bez trvalej riadiacej činnosti človeka. Podľa úrovne činnosti sú automaty ovládacie (bez spätnej väzby), regulačné (so spätnou väzbou) a adaptívne (kybernetické zariadenie, ktoré volí optimálne podmienky riadenia). Významne sa uplatňujú v strojárskej technológii, v oblasti služieb (napr. predajné, telefónne, hudobné automaty) a i.;
3. voj. ľahká ručná automatická zbraň na boj zblízka na vzdialenosť do 500 m. V zásobníku má obyčajne 32 nábojov, rýchlosť streľby asi 100 rán za minútu; umožňuje streľbu jednotlivými ranami a dávkami; všeobecný názov ruskej automatickej zbrane používanej v 2. svet. vojne.
automatické programovanie — smer v metodológii programovania usilujúci sa o automatickú, prípadne automatizovanú syntézu programov z neprocedurálnych špecifikácií. Špecifikácia úlohy iba opíše, čo má program vytvoriť ako výstup z daného vstupu. Nemá však predurčovať postup (procedúru), ako sa požadovaný výstup získa. Špecifikačným jazykom môže byť napr. prirodzený jazyk, všeobecne použiteľný formálny jazyk (predikátový počet) alebo zvláštny formálny jazyk pre úzku skupinu úloh. Samotná metóda syntézy sa môže zakladať na dedukcii (odvodení cieľa zo špecifikácie v tvare axióm), indukcii (zovšeobecnení špecifických prípadov riešenia) alebo na transformácii (postupnom prepise špecifikácie do vykonateľného programu podľa transformačných pravidiel). Vzhľadom na veľkú obťažnosť úlohy automaticky vytvoriť program sa výskumné úsilie zameriava na hľadanie metód jej riešenia v interakcii medzi človekom a systémom automatizovaného programovania a na využitie metód umelej inteligencie, najmä na zahrnutie dostupných znalostí o programovaní a o samotnej úlohe do procesu syntézy programu.
O automatickom programovaní sa hovorí aj v robotike v súvislosti s automatickým vytváraním plánov činnosti robota.
automatické rozpoznávanie a porozumenie reči — inform. rozpoznávanie izolovaných slov z definovanej slovnej zásoby, slov v súvislom prejave, porozumenie rozpoznaným slovám pomocou metód predspracovania zvukovej informácie a metód umelej inteligencie. V systémoch riadenia strojov sa využíva najmä v extrémnych situáciách (napr. pri imobilnosti operátora; pri potrebe voľnosti jeho pohybu, v činnostiach vyžadujúcich od neho prácu obidvoch rúk). Zložitosť automatického rozpoznávania a porozumenia reči narastá od systémov na rozpoznávanie povelov, izolovaných slov, štandardných fráz až po súvislú reč. Na analýzu rečových signálov sa používajú parametrické, fonetické a neakustické metódy. Systémy spracovania informácie majú akustickú, fonetickú, lexikálnu, syntaktickú, prozodickú, sémantickú a pragmatickú úroveň analýzy.
automatizované softvérové inžinierstvo — inform. smer softvérového inžinierstva, v ktorom sa pri tvorbe softvérových systémov využíva spolupráca človeka a počítača (príp. v spojení s periférnymi zariadeniami). Automatizujú sa buď jednotlivé etapy vývoja softvérového systému, alebo celý životný cyklus. Automatizácia sa dosahuje tvorbou generátorov softvérových systémov a smeruje k opätovnému používaniu komponentov softvérových systémov. Dosahuje sa softvérovými prostriedkami (→ CASE), pričom sa často využívajú metódy umelej inteligencie, a najmä znalostného inžinierstva. Medzi prostriedky umožňujúce automatizáciu patria napr. kompilátory, programovacie prostredie jazykov s vysokou úrovňou abstrakcie, generátory programu, prostriedky na podporu analýzy a návrhu softvéru, prostriedky manažmentu projektu. Stupeň automatizácie ovplyvňuje výkonnosť, správnosť a úplnosť vytváraného softvéru, efektívnosť vývoja a údržby softvéru a šírku problémovej oblasti pokrytej špecifikáciou.