0% ont trouvé ce document utile (0 vote)
4 vues8 pages

Fonctionnalités de propagation du COVID-19

Transféré par

Djamila BOUHALOUAN
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues8 pages

Fonctionnalités de propagation du COVID-19

Transféré par

Djamila BOUHALOUAN
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

3.4.

1 Fonction CV OA

C'est la fonction principale et son pseudo-code se trouve dans


l'algorithme 1. Quatre listes doivent être maintenues :
morts, récupérés, infectés (l'ensemble actuel d'individus infectés) et les
nouveaux individus infectés (l'ensemble de nouveaux individus
infectés, générés par la propagation du coronavirus à partir des
personnes actuellement infectées personnes).
La population initiale est générée au moyen du patient zéro (PZ), qui
est une solution aléatoire.
Le nombre d'itérations est contrôlé par la boucle principale, évaluant
la durée de la pandémie (valeur prédéfinie) et s'il y a encore un
individu infecté. Dans cette boucle, chaque individu peut soit mourir
(il
est envoyé à la liste des morts) ou infecter, augmentant ainsi la taille
de la nouvelle population infectée. Cette infection
mécanisme est codé en fonction infect (voir Section 3.4.2).
Une fois la nouvelle population formée, tous les individus sont évalués
et si l'un d'entre eux surpasse le
meilleur actuel, ce dernier est mis à jour.

Algorithme 1 Fonction cvoa

1 : définir la population infectée, la nouvelle population infectée en


tant qu'ensemble d'individus
2: définir les morts, récupérés comme liste d'individus
3: définir PZ, bestIndividual, currentBestIndividual, aux en tant
qu'individu
4: définir le temps comme entier
5: définir bestSolutionFitness, currentbestFitness comme réel
6 : temps ← 0
7 : PZ ← InfectPatientZero()
8 : Population infectée ← PZ
9: meilleurIndividuel ← PZ
10 : pendant que le temps < DURÉE DE LA PANDÉMIE ET taille de
(population infectée) > 0 faire
11 :
mort ← mourir (population infectée)
1
12 :
pour tout i la population infectée fait
13 :
aux ← infect(i, récupéré, mort)
14 :
si nonnull(aux) alors
15 :
newInfectedPopulation ← aux
16 :
fin si
17 :
fin pour
18 :
currentBestIndividual ← selectBestIndividual(newInfectedPopulation)
19 :
if fitness(currentBestIndividual) > bestIndividual then
20 :
meilleurIndividuel ← actuelMeilleurIndividuel
21 :
fin si
22 :
récupéré ← infectéPopulation
23 :
effacer (population infectée)
24 :
InfectedPopulation ← newInfectedPopulation
25 :
temps ← temps + 1
26 : fin pendant que
27 : retour bestIndividuel

3.4.2 Fonction infectée

Cette fonction reçoit un individu infecté et renvoie l'ensemble des


nouveaux individus infectés. Deux ajouts les listes nationales,
récupérées et mortes, sont également reçues comme paramètres
d'entrée car elles doivent être mises à jour après
2
l'évaluation de tous les individus infectés.
Le pseudo-code est montré dans l'algorithme 2.
Deux conditions sont évaluées pour déterminer le nombre de
nouveaux individus infectés (utilisation de SPREADER RATE
ou SUPERSPREADER RATE) ou à quel point les nouveaux
individus seront différents (ORDINARY RATE ou
TARIF DE VOYAGE. La mise en œuvre sur la façon dont ces
nouveaux individus infectés sont codés selon à de tels taux est effectué
dans la fonction newInfection.

Algorithme 2 Fonction infectée

Exigez : infecté à partir de Individuel ; récupéré, mort en tant que liste


d'individus
1 : définir R1, R2 comme réel
2: définir newInfected comme liste d'individus
3: R1 ← RandomNumber()
4: R2 ← RandomNumber()
5 : si R1 < P TRAVEL alors
6:
si R2 < P SUPERSPREADER alors
7:
nouveauInfecté

nouveauInfection
(infecté,
rétabli,
mort,
TAUX D'ÉPANDAGE,
TAUX ORDINAIRE)
8:
autre
9:
nouveauInfecté ← nouveauInfection (infecté, guéri, mort, TAUX
SUPERSPREADER,
TAUX ORDINAIRE)
dix:
fin si
3
11 : autre
12 :
si R2 < P SUPERSPREADER alors
13 :
nouveauInfecté

nouveauInfection
(infecté,
rétabli,
mort,
TAUX D'ÉPANDAGE,
TARIF VOYAGE)
14 :
autre
15 :
nouveauInfecté ← nouveauInfection (infecté, guéri, mort, TAUX
SUPERSPREADER,
TARIF VOYAGE)
16 :
fin si
17 : fin si
18: retour nouveauInfecté

3.4.3 Fonction newInfection

Etant donné un individu infecté, cette fonction génère de nouveaux


individus infectés en fonction de la propagation. Frais de déplacement
et de déplacement. Cette fonction contrôle également que les
nouveaux individus infectés ne sont pas déjà dans la liste des morts
(dans ce cas cette nouvelle infection est ignorée) ou dans la liste
récupérée (dans ce cas la

P RÉINFECTION est appliqué pour déterminer si l'individu est


réinfecté ou s'il reste dans le liste récupérée). En outre, il considère
que le nouvel individu potentiellement infecté pourrait être isolé, qui
est contrôlé par P ISOLATION. Bien que l'utilisation d'une liste
supplémentaire puisse être mise en œuvre, elle a été décidée de traiter
4
ces personnes comme guéries. Par conséquent, si un individu isolé est
tenté d’être infecté, il est ajouté à la liste récupérée.

La génération effective des nouveaux individus infectés doit être


réalisée dans la fonction réplica , dont le pseudo code n'est pas fourni
car il dépend de la codification et de la nature du problème à être
optimisé. Cette fonction doit renvoyer un ensemble de nouveaux
individus infectés, selon ce qui précède les taux. Des informations
spécifiques sur la manière dont cette codification et cette réplication
sont effectuées pour les modèles LSTM sont fournies dans la section
4.
Le pseudo-code de la procédure décrite peut être trouvé dans
l'algorithme [Link]

Algorithme 3 Fonction newInfection

Exigez : infecté en tant qu'individu ; récupéré, mort en tant que liste


d'individus
1 : définir R3, R4 comme réel
2: définir newInfected comme liste d'individus
3: R3 ← RandomNumber()
4: R4 ← RandomNumber()
5: aux ← réplication (infecté, TAUX DE PROPAGATION, TAUX
DE VOYAGE)
6: pour tout i ∈ aux do
7:
si je suis mort alors
8:
si je récupéré alors
9:
si R4 > P ISOLEMENT alors
dix:
nouveauInfecté ← i
11 :
autre
12 :
récupéré ← je
13 :
5
fin si
14 :
sinon si R3 < P RÉINFECTION alors
15 :
nouveauInfecté ← i
16 :
supprimer i de récupéré
17 :
fin si
18 :
fin si
19: fin pour
20: retour nouveauInfecté

3.4.4 Matrice de fonction


Cette fonction est appelée à partir de la fonction principale. Il évalue
tous les individus de la population infectée et détermine s'ils meurent
ou non, selon le P D IE donné. Ceux qui remplissent cette condition
sont envoyé à la liste des morts. L'algorithme 4 décrit cette procédure.
Matrice de fonction de l'algorithme 4

Exiger : la population infectée en tant que liste d'individus

1: définir les morts comme liste d'individus


2: définir R5 comme réel
3: pour tout i ∈ la population infectée fait
4:
R5 ← RandomNumber()
5:
si R5 < P DIE alors
6:
mort je
7:
fin si
8 : fin pour
9 : retour mort

6
3.4.5 Fonction selectBestIndividual

Il s'agit d'une fonction auxiliaire utilisée pour trouver la meilleure


forme physique dans une liste d'individus infectés. Son code peudoest
montré dans l'algorithme 5.

4 Hybridation du deep learning avec CVOA

Cette section décrit la codification proposée pour un individu, afin


d'hybrider le deep learning avec CVOA. Le terme hybrider est utilisé
dans ce contexte comme la combinaison de deux techniques de calcul

Algorithme 5 Fonction selectBestIndividual

Exiger : la population infectée en tant que liste d'individus


1 : définir le meilleur Individu comme Individuel
2: définir bestFitness comme réel
3: bestFitness MINV ALUE
4 : pour tout i ∈ la population infectée fait
5:
si fitness(i) > bestFitness alors
6:
bestFitness ← fitness(i)
7:
meilleurIndividuel i
8:
fin si
9 : fin pour
10 : retour bestIndividuel

(deep learning et CVOA) afin que les meilleures valeurs


d'hyperparamètres soient découvertes. Cette stratégie est trèscourant
dans l'apprentissage automatique pour l'optimisation des modèles
pendant le processus d'apprentissage [32, 33, 34].Par conséquent, la
codification individuelle illustrée à la figure 1 a été mise en œuvre afin
d'appliquer la CVOA pour optimiser les architectures de réseaux de
neurones profonds.
7
8

Vous aimerez peut-être aussi