Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Sunday, October 18, 2026

Diff for doc/ztp-zbierka/02-programove-schemy.tex between version 1.8 and 1.9

version 1.8, 2007/04/29 19:39:13 version 1.9, 2007/04/29 22:07:52
Line 10 
Line 10 
 % 26/02/2003 - created  % 26/02/2003 - created
 %  %
   
 % $Platon: doc/ztp-zbierka/02-programove-schemy.tex,v 1.7 2007-04-29 16:14:20 nepto Exp $  % $Platon: doc/ztp-zbierka/02-programove-schemy.tex,v 1.8 2007-04-29 19:39:13 nepto Exp $
   
 \chapter{Programové schémy}  \chapter{Programové schémy}
   
Line 433  potom sa aj schéma $S$ zastaví.
Line 433  potom sa aj schéma $S$ zastaví.
   
 \section{Nerozhodnuteľnosť vlastností schém}  \section{Nerozhodnuteľnosť vlastností schém}
   
   \begin{definition}[Rozhodnuteľnosť] % /*
   
   Problém je {\it rozhodnuteľný} ak existuje všeobecný algoritmus (musí sa
   zastaviť), ktorý pre ľubovoľnú
   schému z danej triedy schém odpovie, či schéma spĺňa danú vlastnosť alebo
   nespĺňa.
   
   Problém je {\it nerozhodnuteľný}, ak takýto všeobecný algoritmus pre danú vlasnosť
   neexistuje.
   
   \end{definition} % */
   
   \begin{definition}[Čiastočná rozhodnuteľnosť] % /*
   
   Problém je {\it čiastočne rozhodnuteľný} ak existuje procedúra (nemusí sa
   zastaviť), ktorá pre ľubovoľnú schému z danej triedy schém odpovie kladne, keď
   schéma spĺňa danú vlastnosť a odpovie záporne alebo sa neskončí, keď schéma
   danú vlasnosť nespĺňa.
   
   \end{definition} % */
   
   \begin{note} % /*
   
   Pre triedu štandardných programových schém $\mathcal{S}$ sa skúmajú štyri
   hlavné rozhodovacie problémy:
   
   \begin{itemize}
           \item problém zastavenia
           \item problém divergencie
           \item problém ekvivalencie
           \item problém izomorfizmu
   \end{itemize}
   
   \end{note} % */
   
 \begin{example} % /* P_1 divergency  \begin{example} % /* P_1 divergency
   
 Máme danú schému $S$.  Máme danú schému $S$.
Line 575  cyklus, naša procedúra nikdy neskončí.
Line 610  cyklus, naša procedúra nikdy neskončí.
   
 \end{solution} % */  \end{solution} % */
   
   \begin{definition}[Syntakticky ohraničené podtriedy schém] ~ % /*
   
   \begin{itemize}
           \item {\it Stromové schémy} sú také, ktorých graf neobsahuje cyklus.
           \item {\it Janovove schémy} sú také, ktoré obsahujú monadické symboly
                   nad jedinou pracovnou premennou.
           \item {\it Konzervatívne schémy} sú také, v ktorých sa premenná z
                   ľavej strany priradenia vyskytuje aj na pravej strane
                   priraďovacieho príkazu.
           \item {\it Progresívne schémy} sú také, v ktorých premenná z ľavej
                   strany priraďovacieho príkazu je použitá na pravej strane
                   nasledujúceho príkazu priradenia.
   \end{itemize}
   \end{definition} % */
   
   \begin{definition}[Sémanticky ohraničené podtriedy schém] ~ % /*
   
   \begin{itemize}
           \item {\it Liberálne schémy} sú také, kde sa pri ľubovoľnej
                   interpretácii $I_H$ ten istý výraz počíta nanajvýš jeden krát.
           \item {\it Voľné schémy} sú také, keď pre každú cestu vedúcu z
                   počiatočného príkazu existujú interpretácia a ohodnotenie
                   vstupných premenných také, že výpočet sleduje túto cestu.
           \item {\it Dosiahnuteľné schémy} sú také, ktoré obsahujú len
                   dosiahnuteľné príkazy, tj. pre každý píkaz v schéme existuje
                   interpretácia, pri ktorej sa príkaz vykoná.
           \item {\it Priechodné schémy} sú také, ktoré obsahujú len
                   dosiahnuteľné hrany, tj. pre každú hranu v schéme existuje
                   interpretácia, pri ktorej sa hranou prejde.
   \end{itemize}
   \end{definition} % */
   
 \begin{example} % /*  \begin{example} % /*
   
 Uvažujme triedu dosiahnuteľných schém~$\mathcal{D}$. Je príslušnosť schémy  Uvažujme triedu dosiahnuteľných schém~$\mathcal{D}$. Je príslušnosť schémy
Line 637  divergentná.
Line 704  divergentná.
   
 \section{Porovnávanie tried programových schém}  \section{Porovnávanie tried programových schém}
   
   \begin{definition} % /*
   
   Uvažujme triedy programových schém $\mathcal{S}_1$ a $\mathcal{S}_2$.
   Hovoríme, že:
   
   \begin{itemize}
   
           \item trieda $\mathcal{S}_1$ je {\bf silnejšia} ako trieda $\mathcal{S}_2$
                   (označenie $\mathcal{S}_2 \sqsubseteq \mathcal{S}_1$), ak ku každej schéme
                   $S_2 \in \mathcal{S}_2$ existuje schéma $S_1 \in \mathcal{S}_1$ taká,
                   že $S_1 \equiv S_2$ (trieda $\mathcal{S}_2$ je {\bf preložiteľná}
                   do~$\mathcal{S}_1$)
   
           \item trieda $\mathcal{S}_1$ je {\bf ostro silnejšia} ako trieda
                   $\mathcal{S}_2$ (označenie $\mathcal{S}_2 \sqsubset \mathcal{S}_2$),
                   ak $\mathcal{S}_1$ je silnejšia ako $\mathcal{S}_2$ a existuje schéma $S_1
                   \in \mathcal{S}_1$, ku ktorej neexistuje ekvivalentná schéma $S_2 \in
                   \mathcal{S}_2$
   
           \item triedy $\mathcal{S}_1$ a $\mathcal{S}_2$ sú {\bf rovnocenné}, ak
                   $\mathcal{S}_1 \sqsubset \mathcal{S}_2$ a
                   $\mathcal{S}_2 \sqsubset \mathcal{S}_1$
   
           \item trieda $\mathcal{S}_1$ je {\bf efektívne preložiteľná} do
                   $\mathcal{S}_2$ ak existuje algoritmus, ktorý transformuje ľubovoľnú
                   schému $S_1 \in \mathcal{S}_1$ do ekvivalentnej schémy $S_2 \in
                   \mathcal{S}_2$
   
           \item triedy $\mathcal{S}_1$ a $\mathcal{S}_2$ sú {\bf efektívne
                   rovnocenné}, ak $\mathcal{S}_1$ je efektívne preložiteľná do
                   $\mathcal{S}_2$ a $\mathcal{S}_2$ je efektívne preložiteľná do
                   $\mathcal{S}_1$
   \end{itemize}
   
   \end{definition} % */
   
 \begin{example} % /* is volnost?  \begin{example} % /* is volnost?
   
 Rozhodnite, či je schéma $S$ voľná.  Rozhodnite, či je schéma $S$ voľná.

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top