astuce pour savoir si deux matrices peuvent "s'emboiter" ?

astuce pour savoir si deux matrices peuvent "s'emboiter" ? - Algo - Programmation

Marsh Posté le 05-12-2003 à 18:36:41    

yop
 
 
y a-t-il une astuce pour savoir si deux matrices peuvent s'emboiter ?
 
 
( 15    0   18 )          ( 0    55    0 )
(              )          (              )
(  0   15   88 )    et    ( 0     0    0 )
(              )          (              )
(  88   0    0 )          ( 0    97   14 )
 
peuvent s'emboiter parce qu'un nombre d'une matrice écrasera toujours un zéro de l'autre matrice.
 
 
j'espère que c'est clair :sweat:  
 
 
je suis neuneu ! n'est-ce pas ?


---------------
oui oui
Reply

Marsh Posté le 05-12-2003 à 18:36:41   

Reply

Marsh Posté le 05-12-2003 à 18:41:18    

cette astuce àa s'appelle un algo. le truc simple :  
- les matrices doivent être de même dimension
- a(i, j)==0 ou b(i, j)==0 pour chaque i de 0 à n pour chaque j de 0 à m

Reply

Marsh Posté le 05-12-2003 à 18:46:07    

ah oui, merci...  
 
je sais pas pourquoi je me disais que ce serait chiant de tester les valeurs alors j'ai cherché un truc "magique".
 
mais vu comme ca, c'est vrai que c'est simple :sweat:
 
sorry encore
 
 
 
je suis neuneu ! n'est-ce pas ?


---------------
oui oui
Reply

Marsh Posté le 05-12-2003 à 18:46:44    

et en plus t'es lourd...

Reply

Marsh Posté le 05-12-2003 à 20:32:49    

Taz a écrit :

et en plus t'es lourd...


 [:yamusha]

Reply

Marsh Posté le 05-12-2003 à 21:40:16    

somme = somme de mat1[i][j] * mat2[i][j]
 
si somme == 0 alors emboîtage.

Reply

Marsh Posté le 05-12-2003 à 21:44:11    

ça sert à rien la mult, le test c'est mieux

Reply

Marsh Posté le 06-12-2003 à 04:39:41    

D'autant que le coup de la multiplication ne marche que si les nombres sont positifs... Ou comment faire compliqué et faux quand on peut faire simple et juste :sarcastic:

Reply

Marsh Posté le 06-12-2003 à 16:15:34    

Taz a écrit :

et en plus t'es lourd...

:??:  :sweat:  
 

Citation :

somme = somme de mat1[i][j] * mat2[i][j]
 
si somme == 0 alors emboîtage.


 
yop c'est bien un truc de ce style que j'imaginais, mais c'est vrai que c'est quand meme tout simple de faire une comparaison.
 
C'est bizarre, mais c'est toujours plus clair quand ca vient de quelqu'un d'autre. J'ai tendance à tout mélanger quand je réfléchie tout seul (du verbe réfléchier bien entendu)...


---------------
oui oui
Reply

Marsh Posté le 06-12-2003 à 16:20:10    

mieux vaut 2 comparaisons, la multiplication est bien plus couteuse qu'un test

Reply

Marsh Posté le 06-12-2003 à 16:20:10   

Reply

Marsh Posté le 06-12-2003 à 16:26:45    

oui oui, merci :)


---------------
oui oui
Reply

Marsh Posté le 09-12-2003 à 10:30:50    

art_dupond a écrit :

yop
 
y a-t-il une astuce pour savoir si deux matrices peuvent s'emboiter ?
 
( 15    0   18 )          ( 0    55    0 )
(              )          (              )
(  0   15   88 )    et    ( 0     0    0 )
(              )          (              )
(  88   0    0 )          ( 0    97   14 )
 


 
Une autre idée serait d'administrer l'objet matrice à travers une signature représentant l'empreinte binaire des (i,j) affectés:
 
Empreinte de ta 1ère matrice:
  101
  011
  100
Empreinte de ta 2e matrice:
  010
  000
  011
 
Ce qui donne les signatures 101011100 et 010000011 dans l'alphabet booléen, mais stockées bien sûr en décimal (s1=348 et s2=131).
 
Les deux matrices s'emboîtent si: ( s1 AND s2 == 0 )


---------------
NOUVEAU! Le guide de l'édition en version ebook : http://marcautret.free.fr/autret/150q-ebook/
Reply

Marsh Posté le 09-12-2003 à 11:12:37    

ACut a écrit :


 
Une autre idée serait d'administrer l'objet matrice à travers une signature représentant l'empreinte binaire des (i,j) affectés:
 
Empreinte de ta 1ère matrice:
  101
  011
  100
Empreinte de ta 2e matrice:
  010
  000
  011
 
Ce qui donne les signatures 101011100 et 010000011 dans l'alphabet booléen, mais stockées bien sûr en décimal (s1=348 et s2=131).
 
Les deux matrices s'emboîtent si: ( s1 AND s2 == 0 )

pour faire ton empreinte, faut faire les comparaisons
Ca n'a d'intérêt que si on conserve cette empreinte


---------------
http://runnerstats.net
Reply

Marsh Posté le 10-12-2003 à 15:55:51    

noldor a écrit :

pour faire ton empreinte, faut faire les comparaisons
Ca n'a d'intérêt que si on conserve cette empreinte


 
Oui, je parlais bien du mode d'administration de l'objet matrice. Typiquement si c'est une classe, les méthodes d'affectation des "cases" (i,j) (les "setters" ) gèreraient en parallèle l'information booléenne constituant l'empreinte.
 
Je reconnais que ça ne relève pas de l'algo mais de l'implémentation. Je trouvais ça joli de tout ramener à un AND in fine.


---------------
NOUVEAU! Le guide de l'édition en version ebook : http://marcautret.free.fr/autret/150q-ebook/
Reply

Marsh Posté le 10-12-2003 à 19:00:56    

yop, merci je pense que ca va me servir :)
 
j'aime bien ce genre de trucs, mais je n'y pense jamais de moi-meme :(
 
 
merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed