Niveau de gestion de la mémoire virtuelle indépendant du matériel. Quel type est le plus rapide ? Algorithmes de test

Supposons que toutes les distorsions dans le canal sont strictement déterministes et que seul le bruit additif gaussien n(t) est aléatoire, que nous supposons initialement blanc, de densité spectrale N 0 . Cela signifie que lors de la transmission d'un signal u i (t) (symbole b i (i = 0,1,..., m-1), le signal entrant peut être décrit par le modèle (3.38) :

z(t) = s je (t) + n(t), (0≤t≤T), (6.17)

où tous les s i (t) = ku i (t-τ) (i = 0, 1,..., m-1) sont connus. Seuls la mise en œuvre de l'interférence et l'indice i du signal effectivement émis sont inconnus, qui doivent être déterminés par le circuit de décision.

Nous supposerons également que tous les s i (t) sont des signaux finis dont la durée est T. Cela se produit si les signaux transmis u i (t) sont finis et ont la même durée (système synchrone), et qu'il n'y a pas de propagation par trajets multiples ou distorsion linéaire dans le canal, provoquant une augmentation de la durée du signal (ou ils sont ajustés).

À l’avenir, nous supposerons toujours que le système fournit une synchronisation d’horloge fiable, c’est-à-dire que les limites de l’intervalle d’horloge auquel arrive le signal s(t) sont connues avec précision. Les problèmes de synchronisation sont très importants lors de la mise en œuvre de démodulateurs optimaux et de systèmes de communication synchrones en général, mais ils dépassent le cadre de ce cours. Prenons l'instant de début de l'envoi s(t) nul.

Dans ces conditions, déterminons l'algorithme pour le fonctionnement d'un démodulateur optimal (c'est-à-dire basé sur la règle du maximum de vraisemblance) qui analyse le signal sur l'intervalle d'horloge 0-T. Pour ce faire, il est nécessaire de trouver les rapports de vraisemblance pour tous les m signaux possibles par rapport à l'hypothèse nulle (s(t)=0 ; z(t) = n(t)).

La tâche est compliquée par le fait que la largeur du spectre du signal est infinie (puisqu'elle est finie), et donc l'espace des signaux est de dimension infinie L 2 (T). Pour de tels signaux (ou vecteurs de dimension infinie), comme indiqué, il n'y a pas de densité de probabilité. Cependant, il existe des densités de probabilité "-dimensionnelles" pour n sections de signal quelconques (voir le § 2.1).

Remplaçons d'abord le bruit blanc par un bruit quasi-blanc, qui a la même densité spectrale de puissance unilatérale N 0, mais seulement dans une certaine bande de fréquences F = n/2T, où n>>1. Considérons d’abord une hypothèse supplémentaire, c’est-à-dire que nous supposerons que Z(t) est du bruit. Sur un intervalle d'horloge, nous prenons n sections également espacées via Δt = 1/2F = T/n. Les échantillons Z 1 ,...., Z n dans ces sections pour le bruit gaussien quasi blanc sont indépendants conformément à (2.49). Par conséquent, la densité de probabilité à n dimensions pour les échantillons prélevés

où σ 2 = N 0 F est la dispersion (puissance) du bruit quasi blanc.

Sous l'hypothèse que le symbole b i a été transmis, d'après (6.17) n(t) = z(t) - s i (t). Par conséquent, la densité de probabilité conditionnelle à n dimensions des sections Z(t) est déterminée par la même formule que (6.18), si z(t k) est remplacé par la différence z(t k)-s i (t k), qui représente le bruit sous cette hypothèse :

Le rapport de vraisemblance du signal s i (par rapport à l'hypothèse supplémentaire), calculé pour n sections :

Remplaçons la variance σ 2 par son expression : σ 2 = N 0 F = N 0 /(2Δt). Alors

Selon la règle du maximum de vraisemblance, dans le cas d'un bruit quasi blanc, le circuit de décision doit sélectionner la valeur i qui fournit le maximum Λ i [n] . Au lieu du maximum de Λ i, vous pouvez rechercher le maximum de son logarithme :

Le deuxième terme de (6.22) ne dépend pas de t et peut être ignoré lors de la comparaison d’hypothèses. Alors la règle de décision selon laquelle le symbole b i a été transmis, selon (6.10), peut être exprimée par le système d'inégalités

Revenons maintenant au problème initial du bruit blanc. Pour ce faire, on va agrandir la bande F, puis le nombre de sections n tend vers l'infini, et Δt - vers zéro. Les sommes dans (6.22) se transformeront en intégrales, et l'équation de la solution sera déterminée comme suit :

L'expression (6.24) détermine les opérations (algorithme de fonctionnement) que le récepteur optimal doit effectuer sur l'oscillation d'entrée z(t).

Sur la fig. La figure 6.2 pour m = 2 montre un schéma fonctionnel d'un dispositif de réception fonctionnant conformément à l'algorithme (6.24).

Ici, les « - » sont des dispositifs soustractifs ; Γ 0, Γ 1 - générateurs de signaux de référence s 0 (t), s 1 (t); "KB" - quadrateurs ; ∫ - intégrateurs ; RU est un dispositif décisif qui détermine, à des instants multiples de T (lorsque les touches sont fermées), le numéro de la branche avec le signal minimum.

Pour m>2 dans le circuit de la Fig. 6.2 et d'autres diagrammes ci-dessous, le nombre de branches de traitement du signal tombant sur l'unité de commande augmente en conséquence.

Dans l'espace de Hilbert


détermine la norme de la différence entre les vecteurs z et s ou la distance qui les sépare *. Par conséquent, l’algorithme (6.24) peut s’écrire sous la forme

||z - si ||

et lui donner une interprétation géométrique simple : le démodulateur optimal doit enregistrer celui des signaux s i (t) (correspondant au symbole b i) qui est « le plus proche » de l'oscillation reçue z(t). A titre d'exemple sur la Fig. La figure 6.3 montre la partition optimale de l'espace bidimensionnel des signaux reçus z(t) lors de la transmission des signaux s 1 (t) et s 0 (t). Les zones de décision en faveur des symboles 0 ou 1 sont situées de part et d'autre de la droite 0-0, perpendiculaire au segment reliant les points signaux et le divisant en deux.

Présence dans le schéma de la Fig. Les quadrateurs 6.2, conçus pour assurer la transformation quadratique des valeurs instantanées des signaux d'entrée sur toute leur plage dynamique, complique souvent sa mise en œuvre. Par conséquent, sur la base de (6.24), nous obtenons un algorithme de réception équivalent qui ne nécessite pas de dispositif de mise au carré.

Ouvrir les parenthèses sous le signe intégral et annuler le terme de part et d'autre des inégalités (6.24)

on arrive à l'algorithme de réception :

où E j est l'énergie du signal attendu s j (t) :


Pour un système binaire, l'algorithme (6.25) se réduit à vérifier une inégalité

Un appareil qui calcule directement le produit scalaire


est appelé filtre actif, ou corrélateur, donc le récepteur qui implémente l'algorithme (6.25) est appelé corrélation.

* (Pour l'espace euclidien à n dimensions, cette norme est égale à)


Sur la fig. La figure 6.4 montre un schéma fonctionnel d'un dispositif de réception fonctionnant conformément à (6.27). Ici, les blocs × sont des multiplicateurs ; Γ 0, Γ 1 - générateurs de signaux de référence s 0 (t) s 1 (t); ∫ - intégrateurs ; "-" - dispositifs soustractifs ; RU est un appareil décisif qui détermine à des instants multiples de T (lorsque la clé est fermée), i = 0, 1 - le numéro de la branche avec le signal maximum.

Si les signaux u i (t) sont choisis de telle sorte que toutes leurs implémentations (et donc toutes les implémentations s i (t) aient les mêmes énergies (E i = const), l'algorithme de réception (6.25) (et, par conséquent, sa mise en œuvre ) est simplifié (il n’y a pas besoin de dispositifs soustractifs) et prend la forme

D'après (6.29), il est clair que la règle de décision ne changera pas si le signal z(t) arrivant à l'entrée du démodulateur est multiplié par un nombre quelconque. Par conséquent, un système dans lequel toutes les implémentations de signaux ont une énergie égale se distingue par le fait que l'algorithme de réception optimal ne nécessite pas la connaissance de «l'échelle» du signal entrant ou, en d'autres termes, la connaissance du coefficient de transmission k du canal. Cette caractéristique importante a conduit à l’utilisation généralisée de systèmes de signaux à énergie égale, communément appelés systèmes de pause active. Ceci est particulièrement important pour les canaux à évanouissement dans lesquels le gain fluctue (voir §6.7).

Notez que pour un système binaire, l’inégalité (6.27) peut être représentée sous une forme plus simple :


où s Δ (0 = s 1 (t) - s 0 (t) est le signal de différence ; λ = 0,5(E 1 -E 0) est le niveau seuil. Pour un système avec une pause active X = 0, ce qui grandement simplifie la mise en œuvre du schéma optimal.

Lorsque l'inégalité (6.30) est satisfaite, le symbole 1 est enregistré, sinon - 0. Pour implémenter (6.30) dans le circuit de la Fig. 6.4 ne nécessite qu’une seule branche.

Sur la fig. 6.5a montre un circuit qui implémente l'algorithme (6.30) pour un système de transmission binaire avec des impulsions unipolaires (avec une pause passive) : s 1 (t) = a, s 0 (t) = 0. Pour ces signaux, s Δ (t ) = s 1 (t) = a, E 1 = a 2 T, E 0 = 0, λ = a 2 T/2 et (6.30) prendra la forme suivante :


Le système de signaux binaires considéré est utilisé dans les dispositifs de communication filaire les plus simples. Les chaînes radio, ainsi que les chaînes câblées modernes, utilisent des signaux haute fréquence. Les systèmes binaires les plus simples avec signaux harmoniques sont les systèmes avec modulation d'amplitude (AM), de phase (PM) et de fréquence (FM).

En AM binaire s 1 (t) = acos(ω 0 t + φ), s 0 (t) = 0. Toutes les constantes incluses ici (a, ω 0, φ) dans cette section sont supposées être connues. Puisqu'ici s Δ (t) = s 1 (t), E 1 = a 2 T/2 et E 0 = 0, la règle (6.30) s'écrira comme suit :


Il est implémenté par le circuit de la Fig. 6.5,6, qui diffère de la Fig. 6.5,a par un bloc de multiplication du signal entrant par le signal de référence cos(ω 0 t + φ). Le niveau seuil λ̇ est dans ce cas égal à aT/(4RC).

Dans un système FM binaire, s 0 (t) = a cos(tω 0 + φ), s 0 (t) = a cos (tω 0 + φ + π) = -s 1 (t). Il s’agit d’un système avec une pause active, et donc dans (6.30) λ = 0. Il est facile de voir que la règle de solution se réduit à la suivante :


et est implémenté par le même circuit sur la Fig. 6,5,6 à λ̇ = 0. Dans ce cas, le RU joue le rôle de discriminateur de polarité.

Riz. 6.6. Démodulateur optimal avec filtre blanchissant pour le bruit « coloré » gaussien

Considérons brièvement le cas où le bruit gaussien dans le canal n'est pas blanc ou quasi-blanc, mais « coloré », c'est-à-dire qu'il a une densité de puissance inégale G(f) dans la bande spectrale du signal. Faisons passer la somme du signal et du bruit arrivant à l'entrée du démodulateur à travers un filtre avec une fonction de transfert k(i2πf), tel que dans la bande spectrale du signal le produit G(f) |k(i2πf)| 2 était une valeur constante N 0 . Parmi tous les filtres possibles avec k(i2πf), satisfaisant cette condition et ne différant que par la caractéristique phase-fréquence, on peut choisir celui à phase minimale, qui est réversible. Bien évidemment, en sortie du filtre le bruit sera quasi-blanc : G out (f)=N 0 . Par conséquent, un tel filtre est appelé filtre blanchissant.

Le signal s i (t) après avoir traversé le filtre de blanchiment se transformera en un autre signal, que nous notons s" i (t). Son type peut être déterminé en connaissant s i (t) et k(i2πf). Si nous appliquons maintenant oscillations de la sortie du filtre blanchissant au démodulateur, ce qui est optimal pour recevoir les signaux s" i (t) (i = 0, 1, ..., m-1), alors nous obtenons le circuit de la Fig. 6.6, ce qui est évidemment optimal pour les signaux s i (t) avec bruit coloré.

Il convient de noter que sur le schéma de la Fig. 6.2, 6.4 et 6.5, le signal de référence doit avoir les mêmes phases initiales que les signaux entrants attendus ou, en d'autres termes, doit être cohérent avec les signaux entrants. Cette exigence complique généralement la mise en œuvre du démodulateur et nécessite l'introduction, en plus des blocs indiqués sur les figures, de dispositifs supplémentaires destinés à ajuster les phases des signaux de référence.

Toutes les méthodes de réception, dont la mise en œuvre nécessite une connaissance précise a priori des phases initiales des signaux entrants, sont dites cohérentes. Dans les cas où les informations sur les phases initiales des signaux attendus sont dérivées du signal reçu lui-même (par exemple, si la phase fluctue, mais si lentement qu'elle peut être prédite à partir des éléments précédents du signal), la réception est appelée quasi- cohérent. Si les informations sur les phases initiales des signaux entrants sont manquantes ou, pour une raison quelconque, elles ne sont pas utilisées, alors la réception est dite non cohérente (voir § 6.6).

AGENCE FÉDÉRALE POUR L'ÉDUCATION

Établissement d'enseignement public d'enseignement professionnel supérieur "Université technique d'État de Voronej"

Faculté de génie radio

Département d'ingénierie radio

Spécialité 210302 "Ingénierie Radio"

Optimisation des algorithmes de recherche

Complété par l'étudiant gr. RT-041 DS Chetkin

Vérifié par le professeur agrégé du département V.P. Litvinenko

Introduction. 4

1. Développement d'un algorithme de recherche dichotomique optimal avec une distribution de probabilité équiprobable et le nombre d'événements M=16. 5

2. Développement d'un algorithme de recherche optimal pour la loi de distribution de probabilité exponentielle pour M=16. 7

3. Développement d'un algorithme optimal de recherche d'une loi de distribution exponentielle avec un nombre de mesures de N=15 à N=log2M.. 9

4. Développement d'un algorithme de recherche optimal pour la 9ème option de distribution avec le nombre de mesures de N=1 à 15. 12

Conclusion. 19

Références.. 20

Introduction

La furtivité caractérise les coûts (temps, argent) nécessaires pour identifier un nouvel événement avec une fiabilité donnée (probabilité d'une décision correcte, probabilité de confiance).

Lors de l'évaluation du secret d'un événement aléatoire, une procédure de recherche alternative, étape par étape, a été adoptée comme base, dont l'essence est la suivante.

L'ensemble X avec la loi de distribution de probabilité correspondante est divisé en deux sous-ensembles et (l'exposant est le numéro de partition). Un compteur binaire effectue une mesure binaire, identifiant dans quel sous-ensemble se situe un réévénement (sa trace). Ensuite, le sous-ensemble dans lequel le réévénement a été détecté (sur la figure 2.1. ceci) est à nouveau divisé en deux sous-ensembles et une trace du réévénement dans l'un d'eux est révélée. La procédure se termine lorsqu'il y a un événement dans le sous-ensemble sélectionné. La recherche peut être séquentielle ou dichotomique. Dans le premier algorithme (), une recherche séquentielle d'états est effectuée du premier au dernier jusqu'à ce qu'un nouvel événement soit rencontré.

Le deuxième algorithme de recherche () consiste à diviser l'ensemble des états en deux, en vérifiant la présence d'un réévénement dans chacune de ces parties, puis à diviser la moitié sélectionnée de l'ensemble X en deux parties égales, en vérifiant la présence de un nouvel événement en eux, et ainsi de suite. La recherche se termine lorsqu'il y a un événement dans le sous-ensemble sélectionné.

Il existe plusieurs façons de minimiser les procédures de recherche binaire. Les exemples incluent les méthodes Zimmerman-Huffman et Shannon-Fono. L'algorithme peut être optimisé en fonction de divers paramètres, en tenant compte ou non du coût de la mesure. Dans ce travail de laboratoire, nous avons étudié l'optimisation d'un algorithme de recherche dichotomique basé sur la plus petite valeur de furtivité moyenne.

1. Développement d'un algorithme de recherche dichotomique optimal avec une distribution de probabilité équiprobable et le nombre d'événements M=16

Activez le mode de recherche dichotomique. Définissez le nombre d'événements avec une distribution de probabilité uniforme et définissez le nombre de dimensions. Développez un algorithme de recherche optimal, paramétrez-le sur un champ tapé, effectuez une modélisation et déterminez le secret potentiel.

Dans ce cas, l’algorithme de recherche le plus optimal est l’algorithme développé selon le principe de Shannon-Fano. Cette méthode consiste à diviser l'ensemble original d'éléments avec une distribution donnée en deux sous-ensembles portant les numéros 0 et 1 afin que les probabilités d'y accéder soient aussi proches que possible (idéalement de moitié). Ensuite, chacun des sous-ensembles résultants est divisé séparément en deux sous-ensembles avec la même condition et les mêmes numéros 00,01,10,11. La partition se termine lorsque tous les éléments du sous-ensemble n'ont qu'un seul élément.

En conséquence, un algorithme de recherche optimal a été développé pour la loi de distribution de probabilité équiprobable.

Calculons le secret potentiel pour une loi de distribution de probabilité également probable :

(1)

Le résultat pour ce cas :

En conséquence, une expression simple a été obtenue pour déterminer le secret potentiel d'une loi de distribution uniforme, qui, avec un algorithme de recherche dichotomique, ne dépend pas de la recherche d'une combinaison de mesures, mais uniquement du type d'arbre de recherche.

Développement d'un algorithme de recherche optimal pour la loi de distribution de probabilité exponentielle pour M=16

Sélectionnez une distribution de probabilité exponentielle d'événements de la forme , , - facteur de normalisation, avec le même qu'au point 1. Déterminez l'algorithme de recherche optimal, placez-le sur un champ de numérotation, effectuez une modélisation, déterminez le secret potentiel.

Dans un premier temps, laissons l'arbre de recherche tel que dans le paragraphe précédent. « PrintScreen » du programme « Search » pour ce cas pour la loi de distribution exponentielle.

En examinant l’évolution de la courbe de suppression de l’incertitude, nous arrivons à la conclusion que son évolution n’est pas optimale. En utilisant des algorithmes d'optimisation de recherche bien connus, nous arrivons à la conclusion que dans ce cas, l'algorithme de recherche optimal n'est pas du tout un algorithme dichotomique pour toute combinaison de recherche d'un réévénement, mais un algorithme séquentiel. Dans ce cas, c'est optimal, puisque la première mesure vérifie la plus probable, puis la suivante, et ainsi de suite jusqu'à ce qu'il n'y ait plus d'incertitude sur la décision.

Preuve de l'utilisation d'un algorithme de recherche séquentielle. Pour cela, la méthode Zimmerman-Huffman est utilisée. Cette méthode d'optimisation comprend deux étapes : « Opérations d'approvisionnement » et « Lecture ». Ceci est discuté plus en détail dans le livre.

Puisque l'exposant est supérieur à 1, cela satisfait l'inégalité :

Où λ est un exposant de la distribution de probabilité égal à 1, alors dans ce cas l'algorithme de recherche séquentielle est optimal.

De ce fait, il est montré qu’un algorithme de recherche séquentielle est optimal. En comparant les résultats de deux étapes, on arrive à la conclusion que pour chaque loi de distribution de probabilité, il existe son propre algorithme de recherche optimal, soit un algorithme de recherche séquentiel, dichotomique ou combiné.

Développement d'un algorithme optimal de recherche d'une loi de distribution exponentielle avec un nombre de mesures de N=15 à N=log2M

Pour la distribution de probabilité exponentielle à partir du point 2, en réduisant successivement le nombre maximum de mesures de à , développez des algorithmes de recherche optimaux et, sur la base des résultats de la simulation, déterminez les valeurs correspondantes du nombre moyen de mesures.

Lorsque N=15 du paragraphe précédent, l'algorithme de recherche séquentielle est optimal et pour cela la valeur moyenne des mesures binaires est déterminée de la même manière que pour le secret potentiel. La valeur Rcp est présentée dans le tableau 1.

Tableau 1 – Dépendance du nombre moyen de mesures

sur le nombre de mesures avec des algorithmes de recherche optimaux

Calculons le secret potentiel pour chaque cas en utilisant la formule 1 :

Lorsque le nombre de mesures est égal à 3, il est impossible de développer un algorithme de recherche, car celui-ci ne satisfait pas à la condition de faisabilité de la recherche, à savoir :

En conséquence, un graphique de la dépendance du nombre moyen de mesures sur le nombre de mesures est présenté à la figure 8.

Figure 8 – Dépendance du nombre moyen de mesures sur le nombre de mesures pour la loi de distribution de probabilité exponentielle

4. Développement d'un algorithme de recherche optimal pour la 9ème option de distribution avec un nombre de mesures de N=1 à 15

Pour votre version de la distribution de probabilité du nombre d'événements, développez un algorithme de recherche optimal, construisez un arbre de recherche, expliquez sa forme, qu'est-ce qui le détermine ?

Dans le champ de saisie, spécifiez l'algorithme de recherche complet optimal. En excluant séquentiellement les dernières mesures (jusqu'à), considérez la dépendance du nombre moyen de mesures, la probabilité d'une solution incomplète et le secret résiduel sur la durée de recherche. Les résultats sont présentés dans le tableau 2.

Tableau 2 – Dépendance du nombre moyen de mesures,

secret résiduel, probabilité d'incertitude en fonction du nombre de mesures

n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R. 4 3.775 4.325 4.725 5.1625 5.375 5.5 5.65 5.7 5.7625 5.8 5.8
Pnéop 0.55 0.7625 0.875 0 0 0 0 0 0 0 0 0 0 0 0
Sost 0.801 0.785 0.791 0.802 0.814 0.826 0.837 0.848 0.858 0.868 0.877 0.885 0.893 0.901

Dans ce tableau, Sost a été calculé avec un niveau de confiance de 0,9. Le « PrintScreen » du programme « Poisk » pour différentes valeurs du nombre de dimensions est présenté dans les figures 8 à 11.

Lorsque le nombre de mesures est inférieur à 4, il existe une possibilité d'une solution incomplète car il est impossible de vérifier tous les événements. Par conséquent, il n’est pas nécessaire de tout vérifier ; la meilleure option serait de vérifier les événements les plus probables. Le « PrintScreen » du programme « Search » lorsque le nombre de mesures est inférieur à 3 est présenté sur la figure 12.

Construisons un graphique de la dépendance du secret potentiel sur le nombre de mesures, qui est présenté à la figure 13.

Figure 13 – Dépendance du nombre moyen de mesures sur le nombre de mesures pour la 9ème loi de distribution de probabilité

Figure 14 – Dépendance de la probabilité d'une solution incomplète sur le nombre de mesures pour la 9ème loi de distribution de probabilité

(3)

(4)

Nous modifierons la probabilité de confiance dans la plage de 0,7÷0,9. En conséquence, un graphique de la dépendance du secret résiduel sur le nombre de mesures a été obtenu, présenté à la figure 15.

Nost(Pdov) Pdov=0.9

Figure 15 – Dépendance de la dissimulation résiduelle à des valeurs de probabilité de confiance de 0,7÷0,9

Du graphique présenté ci-dessus, nous pouvons conclure que Pdov doit être choisi proche de un, cela entraînera une diminution du secret résiduel, mais ce n'est pas toujours possible.

Figure 16 – Dépendance du masquage résiduel pour les valeurs du nombre de dimensions 4,8,16

De ce graphique, il s'ensuit qu'avec un grand nombre de mesures, le secret résiduel est plus élevé, même si logiquement, un plus grand nombre de mesures entraînera une diminution de la probabilité d'incertitude de décision.

Conclusion

Dans ce travail, des études d'optimisation d'un algorithme de recherche dichotomique ont été réalisées à l'aide du programme Poick. Une comparaison est faite avec l'algorithme séquentiel. Le type de SSC a été étudié pour une répartition uniforme, exponentielle et des événements précisée selon la variante. Compétences développées dans la gestion du programme Poick.

Au cours des travaux de laboratoire, des algorithmes de recherche optimaux ont été développés pour les algorithmes de recherche séquentielle et dichotomique.

La courbe de suppression de l'incertitude a été calculée et il a été constaté que dans certains cas, il est plus correct d'utiliser un algorithme de recherche séquentiel et dans d'autres, un algorithme dichotomique. Mais cela ne peut être lié qu’à la distribution de probabilité originale.

Le bon fonctionnement du programme Poisk a été confirmé à l'aide de calculs effectués dans le progiciel Matcard 2001.

Références

1. Fondements de la théorie de la furtivité : un manuel pour les étudiants à temps plein de la spécialité 200700 « Ingénierie radio » / Université technique d'État de Voronej ; Comp.Z.M. Kanevski, vice-président. Litvinenko, G.V. Makarov, D.A. Maksimov ; édité par Z.M. Kanevski. Voronej, 2006. 202 p.

2. Lignes directrices pour les travaux de laboratoire « Recherche d'algorithmes de recherche » dans la discipline « Fondements de la théorie de la furtivité » pour les étudiants de la spécialité 200700 « Ingénierie radio » à temps plein / Université technique d'État de Voronej ; comp.Z.M. Kanevsky, vice-président. Litvinenko. Voronej, 2007.54p.

3. STP VSTU 005-2007. Conception de cours. Organisation, ordre, exécution du règlement et note explicative et partie graphique.

Évaluation de la complexité des algorithmes

6. Optimisation des algorithmes

Jusqu’à présent, l’informatique n’a pas accumulé suffisamment d’informations pour que le problème de minimisation puisse être posé avec la certitude habituelle des mathématiques. Plusieurs facteurs entravent cela.

Premièrement, il est difficile de formuler un critère d'optimisation qui ait à la fois une signification pratique incontestable et qui soit défini sans ambiguïté en termes mathématiques. Par exemple, on peut se poser le problème de la minimisation du nombre d'instructions d'une machine de Turing - critère bien défini mathématiquement ; mais sa signification pratique n'est pas du tout claire, car il est peu probable qu'un programme réel sur un ordinateur réel puisse simuler une machine de Turing. Vous pouvez vous fixer pour tâche de minimiser le temps d'exécution d'un programme sur une machine réelle - un critère clair d'un point de vue pratique. Cependant, il sera impossible de résoudre le problème d'optimisation à l'aide de méthodes mathématiques, car le temps d'exécution dépend (parfois de manière significative) de l'architecture informatique et l'architecture des ordinateurs modernes ne peut être décrite par un petit nombre de paramètres. Il est également important qu’un programme qui s’exécute plus rapidement que les autres sur un ordinateur ne soit pas le plus rapide sur un autre. Il existe même des programmes spéciaux portant le nom général de benchmark, conçus pour évaluer les architectures.

Deuxièmement, la complexité des tâches n’est pas tout à fait claire. Elle pourrait être définie comme la complexité minimale des algorithmes qui résolvent ce problème. Mais existe-t-il un algorithme de complexité minimale (comment s'assurer que l'algorithme trouvé est vraiment minimal ou au contraire non minimal) ? Y a-t-il quelque chose à atteindre ? Et est-il difficile de trouver ce minimum ? Ces questions sont liées à l'estimation inférieure de la complexité des algorithmes (et non à l'estimation supérieure, comme dans les étapes précédentes) (5, pp. 89-92).

Est-il possible de prouver pour le problème considéré qu’aucun algorithme le résolvant ne peut être plus simple que cette borne inférieure ? Prenons le problème bien connu de la multiplication de matrices carrées. Un algorithme de complexité T(n) = 3n3 + n2 est donné. (8, pp. 199-203) Ce n'est probablement pas le meilleur algorithme, mais quelle est la limite inférieure ? La matrice résultante comporte n2 éléments. Pour calculer n'importe quel élément, au moins une opération d'une machine à processeur unique est nécessaire - deux éléments ne peuvent pas être trouvés en une seule opération. Pour l'algorithme minimal on obtient les inégalités n2<= T, min(n) <= 3n3+n2 . Вряд ли n2 - хорошая нижняя оценка, но уже известно, что n3 нижней оценкой не является, так как найдены более быстрые алгоритмы (в частности, алгоритм Штрассена). (8, стр. 211)

Il existe plusieurs aspects indépendants de l’optimisation d’un programme, dont nous soulignerons deux :

Optimisation associée au choix de la méthode de construction d'un algorithme ;

Optimisation associée au choix des méthodes de présentation des données dans le programme.

Le premier type d'optimisation est de nature globale et conduit à une diminution de l'ordre de la fonction de complexité - par exemple, remplacer un algorithme avec T(V) = O(FS) par un algorithme avec T(V) = O(V4 ). Cela dépend de la manière dont la tâche est divisée en sous-tâches, de la mesure dans laquelle cette division est inhérente à la tâche elle-même ou n'est qu'une technique artificielle. Une approche générale pourrait consister ici à procéder dans l’ordre inverse de l’analyse algorithmique. Lors de l'analyse à l'aide d'un algorithme récursif, une équation est construite, qui est ensuite résolue. Lors de l'optimisation, la chaîne suivante est implémentée :

Formule précisant la difficulté souhaitée ->

L'équation correspondante (une des possibles) ->

Une méthode pour diviser une tâche en sous-tâches.

Le deuxième type d'optimisation, sans modifier la structure du programme dans son ensemble, conduit à des économies de mémoire et/ou à une simplification du travail avec les structures de données, augmentant ainsi l'efficacité des procédures auxiliaires qui fournissent une « interface » entre le niveau application (auquel nous pensons en termes d'objets de haut niveau - graphiques, matrices, textes, etc.) et de niveau machine, qui prend en charge les types de données les plus simples (nombres, symboles, pointeurs). Le résultat est généralement une diminution des coefficients pour certains termes de la fonction de complexité (avec une optimisation réussie - pour le terme le plus significatif), mais l'ordre de la fonction de complexité reste le même. (7, p. 204)

Les deux types d’optimisation se complètent et peuvent être utilisés ensemble.

Algorithmes pour résoudre des problèmes de sélection. Algorithme de recuit

Afin de comprendre ce qu'est l'optimisation, vous devez découvrir pourquoi elle est nécessaire et comprendre que dans la vie, nous rencontrons des optimisations tous les jours, souvent sans nous en rendre compte. Disons qu'après avoir reçu notre prochain salaire, nous décidons de répartir notre budget...

Analyse et synthèse basées sur un ensemble de moyens techniques d'un système hypothétique à microprocesseur pour le contrôle optimal du processus technologique et de l'équipement d'un objet technique générateur de vapeur dans des conditions d'incertitude stochastique

L'un des problèmes clés dans la conception de systèmes de contrôle de processus automatisés est le problème de l'optimisation, dont la formulation bien fondée et la solution réussie déterminent en grande partie l'efficacité du système de contrôle de processus automatisé...

Modélisation informatique de réseaux AD-HOC sans fil dans le but de calculer le temps de communication des abonnés mobiles

L'optimisation est le processus de modification d'un programme selon certains critères afin d'améliorer sa qualité tout en conservant le sens du programme original. Pour réduire la quantité de code de programme, il est divisé en parties - sous-programmes...

Modélisation et optimisation des autoroutes

Introduisons la notation suivante : Xi - fonds résiduels au début de la i-ème étape ; Uj - le montant des fonds qu'il a été décidé d'allouer à la i - entreprise ; Pi est le bénéfice reçu par cette entreprise...

Modélisation d'un système de contrôle automatique à l'aide de logiciels et de méthodes de simulation

L'optimisation est mise en œuvre à l'aide de la méthode de planification séquentielle simplex (méthode simplex). Le mode d'optimisation comprend les deux sous-modes suivants : définition des conditions initiales et des limites d'optimisation ; mettre l'optimisation en action...

Optimisez le plan de production et d'approvisionnement à l'aide du système de planification IBM ILOG Plant PowerOps

IBM ILOG Plant PowerOps se compose de quatre modules : planification de la production, dimensionnement des lots, planification détaillée et capture de la demande. Chaque module résout des problèmes spécifiques dans le processus d'optimisation...

Caractéristiques du travail dans le progiciel MicroCAP-7

L'optimisation paramétrique est effectuée dans le programme MC7 à l'aide de la méthode Powell dans tous les types d'analyse : analyse transitoire, analyse AC à petits signaux et calcul des caractéristiques DC...

Fonctionnalités de création de contenu textuel pour le site Web de l'UNN. N.I. Lobatchevski

Le site existe donc déjà. Il est convivial, présente un beau design et possède toutes les propriétés de consommation imaginables aujourd’hui. Mais pour une raison quelconque, les chiffres de fréquentation ressemblent aux aiguilles d’une horloge arrêtée…

Conception et modélisation de circuits électriques dans le système graphique AutoCAD et le progiciel OrCAD 9.2

magnétophone cinématique de circuit électrique Ensuite, nous ajoutons des paramètres d'optimisation au circuit, en définissant la « Valeur actuelle » actuelle, les valeurs initiales de « Valeur initiale » des composants, ainsi que la tolérance « Tolérance »...

Développement de la conception d'un bureau d'ordinateur deux places

En plus de la possibilité de concevoir des produits en 3D, de créer des dessins et des spécifications pour les pièces, ainsi que de calculer les matériaux nécessaires à la fabrication d'un produit, « bCAD Furniture Maker » vous permet de produire...

Développement d'un modèle d'agence immobilière selon la norme IDEF0

Ce modèle appartient au type « être », c'est-à-dire que le modèle est construit sur le principe « comme il se doit ». Lors du processus de création du modèle, j'ai corrigé quelques défauts...

Développement d'une application de choix d'achat d'une paire de machines

... Les problèmes de minimisation unidimensionnels sont le modèle d'optimisation mathématique le plus simple dans lequel la fonction objectif dépend d'une variable et l'ensemble admissible est un segment de l'axe réel...

Développement du programme "Détermination de la période optimale de remplacement des équipements"

L'un des problèmes économiques importants que l'on rencontre dans la pratique est de déterminer la stratégie optimale pour remplacer les anciennes machines, bâtiments industriels, unités, machines, etc., en d'autres termes...

Analyse du système d'information sur la gestion du personnel de l'entreprise

Création d'une visite virtuelle 3D à partir d'une série de photos panoramiques virtuelles

Pour un collage parfait d'un panorama, c'est-à-dire un collage sans « coutures » visibles, la distance entre les paires de points de contrôle doit être minimale. Pendant le processus d'optimisation...

Le meilleur algorithme de remplacement de page est facile à décrire, mais totalement impossible à mettre en œuvre. Tout s'y passe comme suit. Lorsqu'un défaut de page se produit, il existe un ensemble spécifique de pages en mémoire. Certaines de ces pages seront accessibles littéralement à partir des commandes suivantes (ces commandes sont contenues dans la page). Les autres pages ne sont plus accessibles après 10, 100, voire 1 000 commandes. Chaque page peut être marquée du nombre de commandes qui doivent être exécutées avant le premier accès à la page.

L'algorithme de remplacement de page optimal indique que la page avec la valeur la plus élevée doit être supprimée. Si une page reste inutilisée pour 8 millions de commandes et qu'une autre page reste inutilisée pour 6 millions de commandes, la suppression de la première entraînera une erreur de page manquante, ce qui entraînera sa récupération à nouveau du disque dans un avenir très lointain. Les ordinateurs, comme les humains, essaient de retarder autant que possible les événements désagréables.

Le seul problème d’un tel algorithme est l’impossibilité de sa mise en œuvre. Au moment où une erreur de page se produit, le système d'exploitation n'aura aucun moyen de savoir quand chacune des pages sera ensuite nécessaire. (Une situation similaire a été observée plus tôt lorsque nous avons examiné un algorithme de planification qui choisit d'abord le travail le plus court - comment le système peut-il déterminer quel travail est le plus court ?) Cependant, en exécutant le programme sur un simulateur et en suivant tous les accès aux pages, il devient Il est possible de mettre en œuvre l'algorithme optimal de remplacement de pages lors du deuxième passage, en utilisant les informations d'accès aux pages collectées lors du premier passage.

Cela permet de comparer les performances d’algorithmes réalisables avec le meilleur possible. Si le système d'exploitation atteint des performances qui sont, disons, 1 % inférieures à celles de l'algorithme optimal, alors les efforts consacrés à la recherche d'un meilleur algorithme ne produiront pas plus de 1 % d'amélioration.

Pour éviter toute confusion possible, il doit être clair que cette journalisation des accès à la page ne s'applique qu'à un seul programme en cours d'évaluation et à un seul ensemble d'entrées très spécifique. Ainsi, l'algorithme de remplacement de page résultant s'applique uniquement à ce programme spécifique et à ces données d'entrée spécifiques. Bien que cette méthode soit utilisée pour évaluer les algorithmes de remplacement de pages, elle n’est pas utile dans les systèmes réels. Ensuite, nous considérerons les algorithmes qui sont vraiment utiles pour les systèmes réels.

Algorithmes de remplacement de page. FIFO. Deuxième essai. Algorithme LRU.

Algorithmes de remplacement de page. Algorithme optimal. Algorithme NRU.

Algorithmes de remplacement de page

Bien que vous puissiez sélectionner une page aléatoire à chaque interruption, les performances du système s'amélioreront si vous supprimez elle-même la page rarement utilisée.

Algorithme optimal

Lors d'un défaut de page, un ensemble spécifique de pages est en mémoire. Chaque page peut être marquée du nombre de commandes qui seront exécutées avant le premier accès. L'algorithme optimal supprime la page avec la balise la plus élevée. En pratique, un tel algorithme est impossible à mettre en œuvre, puisque l'OS ne peut pas savoir quand une page particulière sera consultée. L'algorithme optimal peut être mis en œuvre dans le cadre d'une expérience avec des exécutions répétées. Les résultats de l’algorithme optimal peuvent être comparés à ceux d’autres algorithmes pour déterminer leur efficacité.

Algorithme NRU (Not Récemment Utilisé) (page non récemment utilisée)

Dans l'entrée du tableau pour chaque page, il y a 2 bits :

Le bit R (bit d'accès) est mis à un à chaque accès à la page. Il est possible de réinitialiser ce bit, par exemple tous les n ticks du timer, pour distinguer les pages qui n'ont pas été consultées depuis longtemps ;

Le bit M (bit de modification) est mis à un lorsque la page est modifiée. Signale que lors de la suppression, la page doit être écrite sur le disque.

Lorsqu'un défaut de page se produit, en fonction des valeurs des bits R et M, le système d'exploitation divise toutes les pages en 4 classes. Une page de la classe la plus basse est sélectionnée au hasard pour être supprimée. L'algorithme est facile à mettre en œuvre et peut donner des résultats tout à fait suffisants.

Algorithme FIFO

Le système d'exploitation conserve une liste de toutes les pages en mémoire. La liste est triée par ordre d'apparition des pages. Avec un défaut de page, la page est déchargée depuis le début de la liste. L’algorithme est rarement utilisé sous sa forme pure.

Algorithme "deuxième essai"

Il s'agit d'une modification de l'algorithme FIFO. Lorsqu'un défaut de page se produit, le bit R de la première page de la liste est examiné. S'il en est un, la page est placée à la fin de la liste, le bit R est effacé et la page suivante est vérifiée. Cet algorithme recherche dans la liste une page qui n'a pas été consultée au cours des n derniers ticks du minuteur. Si toutes les pages étaient référencées, l’algorithme se transforme en un FIFO classique.

Algorithme "horloge"

L'algorithme précédent est correct, mais inefficace car il déplace constamment toutes les pages de la liste. Par conséquent, il est préférable de stocker les entrées de page dans une liste circulaire et d'utiliser un pointeur vers l'une des cellules. Lorsqu'un défaut de page se produit, le bit R de la page pointée par le pointeur est vérifié. En fonction du bit R, le contenu de l'entrée peut changer et la valeur du pointeur change, ce qui est beaucoup plus rapide que de modifier la liste entière. L'algorithme est totalement identique à l'algorithme de « seconde tentative », à l'exception de la mise en œuvre immédiate.


Algorithme LRU (Last Récemment Utilisé), la page qui n’a pas été la plus utilisée

Cet algorithme est basé sur l'observation que les pages consultées plusieurs fois lors des dernières commandes sont susceptibles d'être consultées plusieurs fois lors des commandes suivantes, et vice versa. L'algorithme est que lors d'un défaut de page, la page qui n'a pas été consultée depuis le plus longtemps est déchargée de la mémoire. La mise en œuvre de cet algorithme n’est pas bon marché. Pour être pleinement implémenté, il est nécessaire de maintenir une liste chaînée de toutes les pages contenues en mémoire, avec la page la plus récemment utilisée en haut de la liste. La difficulté est que la liste doit être mise à jour à chaque accès mémoire. Avec cette approche, rechercher une page, la supprimer et l'insérer en haut de la liste prend beaucoup de temps. Il existe des méthodes matérielles pour implémenter cet algorithme.

La première méthode nécessite que l'ordinateur soit équipé d'un compteur N bits spécial, qui augmente automatiquement après chaque commande. De plus, chaque entrée de la table des pages doit avoir un champ pour stocker la valeur de ce compteur. Après chaque accès à la mémoire, la valeur du compteur est stockée dans une entrée de tableau de la page correspondante à laquelle l'accès a été effectué. Si un défaut de page se produit, le gestionnaire de mémoire vérifie la valeur des compteurs dans l'ensemble du tableau et recherche le plus petit. Cette page est restée inutilisée pendant très longtemps.

La deuxième option d'implémentation matérielle est que sur un système avec des blocs de N pages, une matrice matérielle de taille NxM est prise en charge, initialement égale à zéro. Lors de l'accès à la page k, le matériel attribue tous les bits de la k-ème ligne à un, puis tous les bits de la k-ème colonne à zéro. À tout moment, la ligne avec la plus petite valeur binaire est inutilisée le plus longtemps.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :