A hivatalos meghatározása az algoritmus
Elsődleges algoritmusok. Tegyük fel, hogy adott néhány formai L1 nyelv. amely javaslatok a kezdeti adatok a transzformációhoz, az alábbiakban meghatározott. L2 fogják hívni a nyelvet a bemeneti operandusok. Tegyük fel, hogy adott egy véges halmaz műveletek, amelyek közül néhány lehet alkalmazni néhány javaslatot (karakter design) L1 nyelvet. Operations lesz osztva eljárást és annak feltételeit. Az intézkedés végrehajtása, hogy az operandus helyébe a tervezési szerkezetét operandus nyert művelet végrehajtása; mi történik a jövőben tartják operandust. Ha a művelet a forrás operandus nem alkalmazható, akkor nincs eredmény érhető el, és nincs információ távolléte nem képződik. ez a feltétel, hogy teszteljék, függetlenül attól, hogy az operandus, vagy nem érvényes. Az első esetben az ellenőrzést eredmény logikai érték igaz, a második - egy hazugság. Operand változatlan marad. Feltételek predikátumok.
Készítünk egy környezetfüggetlen nyelv L2. akkor jelenik meg, algoritmikus. Ehhez használjuk a jelölést Backus. L2 nyelv javaslat fogja jelölni metakaraktert (elsődleges algoritmus bejegyzés):
<запись первичного алгоритма>:: = <безусловный приказ> ï <условный приказ>
<безусловный приказ>:: = <метка> <разделитель I> <знак действия> <разделитель II> <отсылка> <разделитель III>
<условный приказ>:: = <метка> <разделитель IV> <знак условия> <разделитель V> <отсылка> <разделитель VI> <отсылка> <разделитель III>
<отсылка>:: = <метка> ï <стоп>
Ahhoz, L2 már teljesen definiált, akkor meg kell adni az értéket a metaformul metakaraktereket:
<метка> <разделитель IV>
<стоп> <разделитель V>
<разделитель I> <разделитель VI>
<разделитель II> <знак действия>
<разделитель III> <знак условия>
Mi nem ezt, így határozva meg egynél több nyelvet, a nyelvi osztály. L2 lehet elfogadni bármely egyedi nyelve ebben az osztályban. Megjegyezzük, csak az, hogy a szeparátorok úgy kell megválasztani, hogy ezek egyértelműen elkülönülnek a megrendelések a vonatkozó részeit, és a szeparátor III megkülönböztethetőnek kell lenni, amely a szeparátorból a VI, valamint bármely referenciák és címkéket.
Ahhoz, hogy egyfajta rekord az elsődleges algoritmus, akkor adjuk meg a következő szabályt.
Példa és az L, és a teljesítő elsődleges algoritmus.
1) primer megtekintésére rekord elejétől az algoritmus, hogy megtalálja az első megbízást; ugorjon a 2. lépésre.
2) Ha a jelentési rend feltétel nélküli ugrást 3. igénypont, vagy az 5. igénypont.
3) Alkalmazás megfelelő művelet jele az intézkedés ebben a sorrendben, az operandus találni elküldésével ebben a sorrendben; folytassa a 4. lépéssel.
4) Ha a kiválasztott referencia a formája <стоп>, akkor a folyamat befejeződött; egyébként, nézi a rekord az algoritmus a kezdetektől, hogy megtalálják a megrendelést, a címke ugyanaz a referencia, és folytassa a 2. lépéssel.
5) ha az operandus kielégíti megfelelő aláírja a jelen érdekében, akkor megy 6. igénypont, vagy a - 7. igénypont.
6) Keresse az első elküldésével ebben a sorrendben; folytassa a 4. lépéssel.
7) Keresse meg a második küldése érdekében; folytassa a 4. lépéssel.
Megjegyezzük, hogy a szabály végrehajtása függ a nyelv L2 és egy előre meghatározott műveletek sorozata. Ez a szabály az algoritmus egy intuitív értelemben vett, de megfogalmazni, éppen az, hogy amikor fut nem lehet minden kétség.
Felvétel az elsődleges algoritmus, együttesen kell figyelembe venni azt a szabályt, annak végrehajtását, az úgynevezett primer algoritmus.
Szabályok alkalmazásával algoritmus végrehajtásához elsődleges aggregátum képződött elsődleges felvételi algoritmus és írásban operandusok generál a folyamatot nevezzük algoritmikus. Ez a folyamat akár megszüntethető, ha a szabályok 2. igénypont, majd az így kapott operandus hívják meg a kívánt eredményt, vagy letörnek miatt gyakorlatilag lehetetlen bármely más pontja a szabályok (hiába, hogy ne), vagy továbbra is a végtelenségig (nem áll le).
Az előbbi esetben azt mondjuk, hogy az elsődleges algoritmus alkalmazható ebben operandus, valamint a második és harmadik esetben -, hogy nem alkalmazható.
Meg kell jegyezni, hogy az algoritmikus eljárás egy sor a ko-transzformáció algoritmus nyilvántartások és operandusok. Egyéni jellemzője ez az átalakulás invarianciájának karakter tervez, amely a felvétel algoritmus.
Természetes algoritmusok. Természetes algoritmus az úgynevezett elsődleges algoritmusok végrehajtására, amelyek közül csak ismereteket igényel a természetes műveletek és talán linearizálást és delinearizálás. Itt van az egyik a természetes családok algoritmusok.
Hagyja operandusok L2 nyelv javaslatokként egyetlen szó az ábécé A. Azt feltételezzük, hogy a feladatot az ábécé meghatározott nyelvtani osztály <буква в А>. Azt feltételezzük, hogy amellett, hogy az L2 munkát igényel csak képlet Backus <операнд>:: =<буква в А> ï <операнд> <буква в А>
Algoritmikus L1 nyelv megadjuk az alábbiak szerint:
<метка>. = <цифра>ï<метка> <цифра>
A konstrukció nyelvtanait nyelvek L1 és L2 elegendő összefűzése ismeretek. Így konstruáltunk osztályú primer (pozitív) algoritmusok kizárólag természetes működését, linearizálás és delinearizálási meghatározott matematikailag elég szigorúan.
Széles körű formális definíciója egy algoritmus. Azt már tudjuk, hogy az elsődleges osztály algoritmusok megadva, ha az adott két nyelven: L1 és L2. ahol az első ilyen javaslatok bejelentett bejegyzések algoritmusok és kínál a második - recordings operandusok és ha a szabály teljesít elsődleges algoritmusokkal alkalmazandó párok: felvétel algoritmus operandus felvételt.
Az első bekezdés az általános meghatározását az algoritmus a következőképpen szól:
1) Elsődleges algoritmusok - algoritmusokat.
De az általános koncepció az algoritmus sokkal szélesebb. A második bekezdés így szól:
2) Ha két L1 és L2 nyelven. ahol a mondat az első bejelentés bejegyzések algoritmusok és kínál a második - recordings operandusok és ha adott egy algoritmust W, amelyek tervezési operandusok kötődéssel kapott minden mondata L1 n L2 nyelv mondat a jól definiált kapcsolatot rang n + 1, majd adott egy család n-ed rendű algoritmusokat.
Végül a harmadik pont egy közös definíció a következőképpen hangzik:
3) N-a helyi algoritmus - ugyanazt az algoritmust.
Így minden algoritmus széles formális értelme, ha nem elsődleges, saját kivitelezés algoritmus. Ha ez még nem azonosították elsődleges algoritmusokkal, lehetetlen lenne, hogy egy szigorú meghatározása és a többi algoritmus, mivel lehetetlen lenne meghatározni egy algoritmus végrehajtását. De ha egyszer épített legalább egy alkalmazása az algoritmus, akkor van lehetőség, hogy sokan mások, már nem vonz elsődleges algoritmusokkal.
Single úgynevezett N-helyi algoritmust, amelyben n = 1. Elsődleges algoritmusok is nevezhető egységes.
tág értelemben formális algoritmus az úgynevezett ami az adott operandus (operandus set), ha az algoritmus alkalmazható ellássa megfelelő szimbólumot szerkezet egyesíti a felvétel algoritmus és operandus (operandus). Egyébként azt mondják, hogy az algoritmus a széles értelemben vett alkalmazandó formai és ez operandus (operandus készlet).
Két algoritmust nevezzük funkcionálisan egyenértékű. ha az operandusaikat nyelvek egymással egybeesnek, és ha mindig egy és ugyanazon forrásból vagy mindkét algoritmus ugyanazt az eredményt, vagy mindkettő nem kell alkalmazni azokra.
Tétel tétel. Minden család elsődleges algoritmusokkal (amelyet két nyelven L1 és L2 végző szabály) van olyan algoritmus széles formális értelemben, amely egyenértékű a szabály, hogy a teljesítmény és van egy bejegyzés grafikusan megegyezik a felvételi szabály.
Egy ilyen algoritmust természetesen úgynevezett algoritmus végzésére család elsődleges algoritmusokkal. Ez a tétel, de ez nem teszi lehetővé a meghatározása a koncepció algoritmus elhagyni meghatározásának elsődleges algoritmusok, mégis „kiegyenlíti a jogait” nem elsődleges elsődleges algoritmusokkal.
Gyakran szükség van alkalmazni egyes algoritmusok a nyilvántartást mások. Annak érdekében, hogy képes legyen élvezni ugyanabban az alkalmazott formula más matematikai tudományok, meg kell, hogy kövesse a különleges óvintézkedéseket. Jellemzően algoritmusok jelöli latin betűkkel; jelölésére a rögzítés által azonos betűk egy fedéllel (kötőjel) a tetején; meghatározott feladatok általuk kijelölt azonos betűk a hullám tetején. Például, ha a g - algoritmus, akkor - a rekord is - által generált függvény (működés kijelző).
Figyelemmel a fenti óvintézkedések az alábbiak szerint írja le a kapcsolatot az algoritmus megfelelő nyelvet, és az algoritmus.
Let L2 =<> - algoritmikus nyelv, L1 =<> - nyelvi operandusok, z - Feedback (n + 1) -edik rang és W - végző algoritmus. Jelöljük a szerkezet, amelyet összekötő n L1 és L2 nyelvi mondat a nyelv. Ezután az egyenlőség azt jelenti, hogy t egy olyan algoritmus, és hogy. Ugyanakkor - rögzítse a kívánt eredményt.
Minden családnak algoritmusok által meghatározott algoritmus végrehajtása a W, L3 = az összes lehetséges rögzíti a kívánt eredményt egy hivatalos nyelvén. Így minden családnak algoritmusok találkozik egy másik hivatalos nyelv: a nyelv a kívánt eredményt. Egy konkrét esetben, lehet, hogy egy részhalmaza az operandusok nyelvet.
Tekintsük két család algoritmusok, amelyek azonos teljesítményű algoritmusok. Nyilvánvaló, hogy ezek a családok a nyelveken operandusok kívánt eredményt és algoritmikus. Vegyünk két algoritmus tartozó különböző családok, de ugyanazt a rekordot. Ilyen algoritmusok egyenértékűek, de ha végző generál különböző folyamatokat.
O p e n d e n n e. Két algoritmusok, amelyek ugyanazt a rögzítés és egyenértékű, egy és ugyanazt az algoritmust (vagy példányai ugyanazt az algoritmust).
Most könnyen tisztázni általános meghatározása a fenti algoritmus (vagy inkább annak kiegészítésére).
Algoritm- gyűjteménye rekordok az algoritmus és térképezés, indukált annak végrehajtását algoritmus.