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

Algorithmes et structures de données Discussion :

Factoriser avec SAT


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Pecose
    Homme Profil pro
    Batiment
    Inscrit en
    Février 2013
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Batiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 311
    Par défaut Factoriser avec SAT
    Bonjour tout le monde!

    Je fais des recherche sur les problème de la classe NP pour mon propre plaisir, et je voudrais savoir si il existe une façon d'exprimer une factorisation d'entier sous la forme d'une instance SAT.

    J'ai cherché un peu partout sur google mais je ne trouve pas de réponse et je ne suis pas très fort en anglais :/

    Donc voila si quelqu'un connais une méthode j'aimerai bien la connaitre merci. 👍

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut


    Juste pour le côté NP : a priori, le problème est dans NP, mais pas dans NP-Complete. En fait, personne n'a jamais encore prouvé ce fait : c'est peut-être même dans P, mais dans ce cas on ne l'a pas encore remarqué. https://en.wikipedia.org/wiki/Intege...ate_of_the_art

    Sinon, il ne suffit pas d'écrire un circuit logique pour multiplier deux nombres, puis d'égaler la sortie au nombre à factoriser ? Ensuite, tu peux facilement convertir toutes ces formules booléennes en SAT-3.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre éclairé Avatar de Pecose
    Homme Profil pro
    Batiment
    Inscrit en
    Février 2013
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Batiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 311
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    Sinon, il ne suffit pas d'écrire un circuit logique pour multiplier deux nombres, puis d'égaler la sortie au nombre à factoriser ? Ensuite, tu peux facilement convertir toutes ces formules booléennes en SAT-3.
    Tu pourrait me donner un exemple simple? Comment faire exactement avec le nombre 10 par exemple?

  4. #4
    Membre éclairé Avatar de Pecose
    Homme Profil pro
    Batiment
    Inscrit en
    Février 2013
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Batiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 311
    Par défaut
    Apparemment, il faut utiliser un algo qui s'appelle Rho de Pollard mais j'ai pas bien compris comment il fonctionne et le lien qu'on peut en faire avec SAT.

    Sinon, j'ai trouvé ça :
    https://cs.stackexchange.com/questio...zation-example
    J'ai pas compris. C'est quoi 2k-bit?
    Y a moyen de vulgariser un peu plus ?

  5. #5
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Bonjour

    bit = binary digit = chiffre binaire.
    La phrase dit simplement que quand on multiplie 2 nombres de k chiffres, le produit est long de 2k chiffres. Ce que tu savais déjà avec les chiffres décimaux : 999*99=98901 (3 + 2 = 5)

  6. #6
    Membre éclairé Avatar de Pecose
    Homme Profil pro
    Batiment
    Inscrit en
    Février 2013
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Batiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 311
    Par défaut
    Ok, merci pour cette réponse.
    Du coup j'en reviens au point de départ, comment on fait?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Factorisation d'écriture des "repository" avec spring.
    Par themasterking dans le forum Spring Boot
    Réponses: 3
    Dernier message: 03/11/2019, 18h45
  2. [Projet solveur SAT] Débuter avec python.
    Par Trademark dans le forum Général Python
    Réponses: 27
    Dernier message: 24/12/2011, 13h57
  3. [PHP 5.2] factoriser dans une boucle avec variables
    Par mussara dans le forum Langage
    Réponses: 5
    Dernier message: 05/02/2009, 14h58

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