IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages fonctionnels Discussion :

[hard] sous-matrice nulle


Sujet :

Langages fonctionnels

  1. #1
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut [hard] sous-matrice nulle
    ouhaip, une question "hard": soit une matrice M carrée n*n, disons booléenne.

    En s'autorisant à échanger les lignes & colonnes, ou en rénumérotant l'ordre sur {1...n}, on veut obtenir la plus grande sous-matrice de M ne contenant que des zéros; au sens où

    le zéro en haut à droite étant notre recherche. Le O(??) étant le caractère de référence

    pour tester, le "n" de référence est 300 000 000.
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    quel est le but de la question ?
    + proposition de defis fonctionnels ?
    + question algo (mauvais forum dans ce cas ) ?
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    La réponse pourrait être longue à écrire, je propose ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    print_string "(0, ";
    while true do
      print_string "0, ";
    done;
    print_string "0 ) ";;
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 417
    Points : 372
    Points
    372
    Par défaut
    Citation Envoyé par Nemerle Voir le message
    pour tester, le "n" de référence est 300 000 000.
    Ta matrice contient donc 90 000 000 000 000 000 entrées. Même en supposant que chaque entrée soit codée sur 1 bit, elle occupe 11 250 000 000 000 000 bytes, c'est à dire plus de 11 millions de gigabytes.

    Si tu me payes la machine, je veux bien essayer.

  5. #5
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par DrTopos Voir le message
    Ta matrice contient donc 90 000 000 000 000 000 entrées. Même en supposant que chaque entrée soit codée sur 1 bit, elle occupe 11 250 000 000 000 000 bytes, c'est à dire plus de 11 millions de gigabytes.

    Si tu me payes la machine, je veux bien essayer.
    On va supposer qu'il s'agit d'une matrice creuse, sinon il y a effectivement un problème... Le fait qu'elle soit creuse change pas mal les données par contre, parce qu'il est plus aisé de savoir quelles parties sont nulles, il s'agit juste de prendre le rectangle maximum dans une fusion de surface ou quelque chose comme ça.

    --
    Jedaï

  6. #6
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    Citation Envoyé par DrTopos Voir le message
    Ta matrice contient donc 90 000 000 000 000 000 entrées. Même en supposant que chaque entrée soit codée sur 1 bit, elle occupe 11 250 000 000 000 000 bytes, c'est à dire plus de 11 millions de gigabytes.

    Si tu me payes la machine, je veux bien essayer.

    Pour info, il y a bien un 0 de trop dans le n: n=30 000 000, soit effectivement plus de 100 tera de données.
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  7. #7
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Nemerle Voir le message
    ouhaip, une question "hard": soit une matrice M carrée n*n, disons booléenne.

    En s'autorisant à échanger les lignes & colonnes, ou en rénumérotant l'ordre sur {1...n}, on veut obtenir la plus grande sous-matrice de M ne contenant que des zéros; au sens où

    le zéro en haut à droite étant notre recherche. Le O(??) étant le caractère de référence

    pour tester, le "n" de référence est 300 000 000.
    Quelle est ta question exactement ?! Tu cherches un algorithme qui permet d'obtenir la plus grande sous-matrice de M ne contenant que des zéros ?

    Dans ce cas comme le dit Gorgonite tu n'es pas sur le bon forum.

  8. #8
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    SI: je sais faire en langage non fonctionnel, je m'intèresse juste à comment ça se développerait en Haskell par exemple (avec 110 Tera)
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  9. #9
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Nemerle Voir le message
    SI: je sais faire en langage non fonctionnel, je m'intèresse juste à comment ça se développerait en Haskell par exemple (avec 110 Tera)
    Donc tu as un algorithme et tu veux l'implémenter ?
    Sauf que tu n'as pas un algorithme qui serait implémentable, selon toi, dans un langage fonctionnel ? Je te rassure ça l'est toujours avec quelques modifications. Même si ce n'est pas forcément évident.

    Mais en conclusion, c'est un problème d'algo et pas un problème de langage.

  10. #10
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Et c'est quoi exactement une matrice plus grande ?
    Par exemple si on compare une matrice 3*4 et une matrice 2*6, laquelle est la plus grande et pourquoi ?
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

Discussions similaires

  1. Calcul de transposées de sous-matrices
    Par hanane78 dans le forum MATLAB
    Réponses: 1
    Dernier message: 10/05/2007, 21h37
  2. Division d'une matrice en sous matrices
    Par hanane78 dans le forum MATLAB
    Réponses: 4
    Dernier message: 02/05/2007, 18h15
  3. Liste des sous-matrices carrées
    Par potimarara dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 12/10/2006, 18h30
  4. Réponses: 2
    Dernier message: 02/09/2006, 20h06
  5. Sous matrice carrée d'une matrice carrée
    Par devils55 dans le forum C++
    Réponses: 2
    Dernier message: 13/11/2005, 19h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo