Problème de récoltage minimale mathématique dans un tableau

WRInaute discret
Bonjour,

J'ai encore un sacré problème pour créer une fonction. Les paramètres de cette fonction sont un tableau à 2 dimensions passé par référence contenant des valeurs numériques. Cette fonction doit retourner un tableau à deux dimensions appelé $TableFinal contenant des indices de colonne du tableau passé en argument.

Prototype de la fonction :
function Recoltage(&$Table)

Notre fonction doit nous retourner un tableau à 2 dimensions appelé $TableFinal qui doit récolter des indices de colonnes du tableau $Table. Voilà le choix des indices des colonnes du tableau $Table doivent respecter une règle :
"Si on prend les valeurs d'une ligne quelconque du tableau $TableFinal, alors ces valeurs correspondront aux indices des colonnes du tableau $Table de façon à ce que toutes ses lignes dans ces indices de colonnes on aura toujours au moins une valeur strictement supérieure à zéro, le nombre des indices des colonnes devant être MINIMALE". Autrement dit, si on prend les valeurs d'une ligne du tableau $TableFinal et qu'on ne garde que les colonnes de ses valeurs dans le tableau $Table alors on aura toujours un élément pour chaque ligne ayant une valeur strictement supérieure à 0 et le nombre de colonnes devant être MINIMALE, c'est à dire qu'on ne doit pas pouvoir trouver un nombre d'indices de colonnes plus petit.

Le tableau $Table a toujours au moins un élément supérieure à 0 sur chaque ligne.

Le nombre d'éléments d'une ligne du tableau $TableFinal correspond donc à la valeur minimale correspondant au nombre d'indices de colonne du tableau $Table.

Tout ceci en php si c'est possible...

Merci d'avance !
 
WRInaute discret
Alors un exemple :
Supposons qu'on est le tableau $Table suivant :
7 3 2 4 0 0 6 0 0
5 7 4 0 1 0 0 7 0
6 6 7 0 0 6 0 0 1
4 0 0 4 3 2 1 0 0
0 8 0 7 7 7 0 2 0
0 0 1 4 4 4 0 0 4
6 0 0 4 0 0 5 5 5
0 1 0 0 2 0 3 3 3
0 0 7 0 0 1 2 3 4

Alors notre tableau $TableFinal sera (il est incomplet puisque je n'ai pas la technique pour les énumérer tous...) :
1 2 3 <-- Bon
2 3 4 <-- Bon
6 7 8 <-- Bon
6 8 9 <-- Pas Bon !
1 4 6 <-- Pas Bon !

Alors pour expliquer le résultat si on prend les indices des colonnes 1,2 et 3 dans le tableau $Table toutes les valeurs des lignes des indices de colonnes 1,2 et 3 ont au moins une valeur strictement supérieur à 0.
Le nombre d'indice est ici 3 qui est minimal je pense. Je suis persuadé mais je ne saurai le démontrer...

Pour les indices 6,8 et 9 ca ne va pas car $Table[1][6]=0
$Table[1][8]=0
$Table[1][9]=0

je pense avoir été + claire j'éspère...
 
WRInaute discret
L'optimisation compte puisque j'ai des tableaux de plus de 1000 colonnes et plus 1000 lignes à traiter...
 
WRInaute discret
Bon alors personne assez doué pour résoudre ce problème de m... qui me soule !!!! snif
 
WRInaute discret
ça doit être moi, mais ça fait deux questions que tu postes et je comprends jamais tes explications...
 
WRInaute discret
Normal que c'est dure à comprendre, c'est l'histoire des maths, des matrices, de la logique et de l'informatique tout ca en un seul mixe. Alors si vous maitrisez les maths vous comprenez forcément ce que je raconte sinon je pense que ce n'est pas de votre niveau...
Ah ce jour 24 h que j'ai posté le sujet et toujours pas de réponse... je vois donc la difficulté de la résolution de ce code !!!
On pourrait en faire un enigme mathématique, et le premier qui trouve 1 000 000 $ à la clé !!! Mais faut pas rêver non plus...
 
Discussions similaires
Haut