Tengo el siguiente código. Quiero escribirlo matemáticamente. Cualquier ayuda sería apreciada.
int in1=1, in2=-1;
double totalDistance=0.0;
double min_dis = Double.MAX_VALUE;
for(int i=0;i<N1;i++){
for(int j=0;j<N2;j++){
dis = calculateDistance(Solutions(i),Solutions(j));
totalDistance = dis;
if(totalDistance< min_dis){
min_dis=totalDistance;
in1=i;
in2=j;
}
}
}
print(in1, in2)
Matemáticamente, lo escribo de la siguiente manera: \begin{equation} argmin_{i,j \in \{1,2, \dots, n_1\} \times \{1,2, \dots, n_2\}} dis(S_i, S_j) \end{equation} $\times$ se refiere al producto cartesiano entre conjuntos y ${dis(S_i, S_j)}$ es la distancia.
Quiero saber si es una representación matemática correcta. Si es correcta, quiero extenderla a n bucles. A continuación se muestra un ejemplo de 3 bucles.
int in1=1, in2=-1, in3=-1;
double totalDistance=0.0;
double min_dis = Double.MAX_VALUE;
for(int i=0;i<N1;i++){
for(int j=0;j<N2;j++){
double dis1 = calculateDistance(**S1**(i), **S2**(j));
for(int z=0;z<N3;z++){
double dis2 = calculateDistance(**S2**(j), **S3**(z));
totalDistance = dis1+ dis2;
if(totalDistance< min_dis){
min_dis=totalDistance;
in1=i;
in2=j;
in3=z;
}
}
}
}
print(in1 in2 in3);
¿Cómo puedo representar la versión generalizada en notación matemática?
Gracias de antemano.