Bonjour;
je suis débutante en langage C , quelqu'un svp m'aider de faire :

V (n) (i)= max_a [R(i,a)+ alpha * ∑_jϵE [ P(i,a,j) * V(n-1) (j) ]
Merci d'avance

voilà mon algo:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
//Initialisation des états à une valeur nulle  
n<----- 0
pour tout i∈E
V_n (i)= 0
fin pour
//Calcul récursif des valeurs jusqu'au passage sous un seuil
 Répéter
n<------- n+1
     pour tout i∈E faire
V_n (i)=〖max〗_a [R(i,a)+ α∑_jϵE〖P(i,a,j) V_(n-1) (j)]
fin pour
jusqu'à 〖max〗_i |V_n (i)-V_(n-1) (i)|  < ε
retourner  Vn.
------------------------
j'ai fait un essais mais ça marcha pas:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 #include <conio.h>
 int main(int argc, char *argv[])
{
    /* Déclarations */
float P[25][25][25];
float R[25][25];  /* matrice recompense */
float V[25][25],VI[25][25],VII[25][25];
float max;//,MAX;
 int A,a,E,i,n,j,K;
 float alpha,epsilon;
 /* Saisie des données */
 printf("Entrer le nombre des etats (max.25) : ");
 scanf("%d", &E );
  printf("Entrer le nombre des actions (max.25) : ");
 scanf("%d", &A );
 printf("Entrer la valeur d epsilon (max.25) : ");
 scanf("%f", &epsilon );
 printf("Entrer la valeur d alpha (max.25) : ");
 scanf("%f", &alpha );
 for (a=0; a<A; a++){
 for (i=0; i<E; i++)
    for (j=0; j<E; j++)
        {
         printf("Elements de Prbabilite de transition P(pi)[%d][%d][%d] est : ",i,a,j);
         scanf("%f", &P[i][a][j]);
        }}
 //Affichage de Probabilité de transition P(pi) */
 printf("Matrice de Prbabilite de transition P(pi) est  :\n");
 for (a=0; a<A; a++){
 for (i=0; i<E; i++)
    for (j=0; j<E; j++)
          printf("\t%f",P[i][a][j]);
     printf("\n");
    }
for (a=0; a<A; a++){
 for (i=0; i<E; i++)
 
        {
         printf("Element de la matrice de recompense R(pi)[%d][%d] est : ",i,a);
         scanf("%f", &R[i][a]);
        }}
 //Affichage de la matrice de recompense R(pi) */
 printf("Matrice de la matrice de recompense R(pi) est  :\n");
 for (a=0; a<A; a++){
 for (i=0; i<E; i++)
              printf("\t%f",R[i][a]);
     printf("\n");
    }
 for (a=0; a<A; a++){
 
        for (n=0; n<E; n++)
for (i=0; i<E; i++){
    for (j=0; j<E; j++)
         // voilà la partie que je suis bloquée
 
    VII[0][i]=0;
        while (VII[n][i]> VII[n-1][i])
        {
 
 
 
        V[n][i]+= P[i][K][j]* V[n-1][j];
        }
 VI [n][i] = V [n][i]; // pour stocker le résultat
        }
 
       VII[n][i]=R[i][a]+alpha *VI[n][i];}
 
 
        printf(" Vecteur V est  :\n");
 
  for (a=0; a<A; a++){
 
        for (n=0; n<E; n++)
for (i=0; i<E; i++)
    for (j=0; j<E; j++){
 
              printf("\t%f",VII[n][i]);
     printf("\n");
    }}
 
 
    return 0;
}