Simulations sur quatre sites
Deux modèles simplifiés du web⚓
Résultats⚓
5 liens | 7 liens | ||||||
A | B | C | D | A | B | C | D |
20% | 20% | 40% | 20% | 37% | 31% | 13% | 19% |
Question : Pour chacun des modèles de web, écrivez le code servant à déterminer et afficher la fréquence de visites de chacun des quatre sites. Testez et vérifiez avec les résultats fournis ci-dessus.⚓
Solution
ComplémentCode premier schéma : 5 liens⚓
1
from random import *
2
def PR(n):
3
nA=0
4
nB=0
5
nC=0
6
nD=0
7
start=randint(1,4)
8
if start==1:
9
page="A"
10
nA=1
11
elif start==2:
12
page="B"
13
nB=1
14
elif start==3:
15
page="C"
16
nC=1
17
else:18
page="D"
19
nD=1
20
for i in range(n):
21
if page=="A":
22
page="B"
23
nB=nB+1
24
elif page=="B":
25
page="C"
26
nC=nC+1
27
elif page=="C":
28
alea=randint(1,2)
29
if alea==1:
30
page="A"
31
nA=nA+1
32
else:33
page="D"
34
nD=nD+1
35
else:36
page="C"
37
nC=nC+1
38
fA=nA/(nA+nB+nC+nD)
39
fB=nB/(nA+nB+nC+nD)
40
fC=nC/(nA+nB+nC+nD)
41
fD=nD/(nA+nB+nC+nD)
42
print('fA =',fA,'fB =',fB,'fC =',fC,'fD =',fD)
43
PR(10000)
ComplémentCode second schéma : 7 liens⚓
1
from random import *
2
def PR(n):
3
nA=0
4
nB=0
5
nC=0
6
nD=0
7
start=randint(1,4)
8
if start==1:
9
page="A"
10
nA=1
11
elif start==2:
12
page="B"
13
nB=1
14
elif start==3:
15
page="C"
16
nC=1
17
else:18
page="D"
19
nD=1
20
for i in range(n):
21
if page=="A":
22
alea=randint(1,3)
23
if alea==1:
24
page="B"
25
nB=nB+1
26
elif alea==2:
27
page="C"
28
nC=nC+1
29
else:30
page="D"
31
nD=nD+1
32
elif page=="B":
33
page="A"
34
nA=nA+1
35
elif page=="C":
36
alea=randint(1,2)
37
if alea==1:
38
page="A"
39
nA=nA+1
40
else:41
page="D"
42
nD=nD+1
43
else:44
page="B"
45
nB=nB+1
46
fA=nA/(nA+nB+nC+nD)
47
fB=nB/(nA+nB+nC+nD)
48
fC=nC/(nA+nB+nC+nD)
49
fD=nD/(nA+nB+nC+nD)
50
print('fA =',fA,'fB =',fB,'fC =',fC,'fD =',fD)
51
PR(10000)