Est-ce qu'on peut programmer des raisonnements par l'absurde ?
Est-ce qu'on peut programmer des raisonnements par l'absurde ?
Salut,
A mon avis ça doit être plus facile que de programmer un truc "non absurde"Est-ce qu'on peut programmer des raisonnements par l'absurde ?
Tu définis les règles qui gèrent l'univers de ton raisonnement par l'absurde et tu les programmes. Le résultat peut être amusant.
A+
N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi
Pas si absurde, la question, ou plutôt les questions, car à mon avis il faut séparer deux problèmes.
Le premier serait, "peut-on programmer des raisonnements ?". La réponse est oui, c'est le principe même des systèmes experts déjà utilisés depuis fort longtemps dans de nombreux domaines. Une chose est sûre : le langage Pascal n'a pas été à la base conçu pour ça, et même s'il est théoriquement possible d'écrire un système expert dans n'importe quel langage,il vaut mieux se tourner vers des langages plus spécialisés (Prolog, Lisp...).
Pour le raisonnement par l'absurde, c'est plus délicat. Si on construit un système expert "classique", basé sur des property lists et un moteur d'inférence, j'aurais tendance à dire non. En effet, le principe du raisonnement par l'absurde (qui n'est pas le raisonnement par contraposition), consiste à supposer vraie l'hypothèse qu'on veut infirmer, puis à en déduire une conséquence qui entre en contradiction avec les axiomes du système.
Or, un moteur d'inférence classique se contente d'explorer toutes les pistes valides menant, soit des axiomes à la propriété qu'on veut démontrer, soit de la propriété aux axiomes, soit les deux (chaînages "avant, "arrière", et "mixte"). Il ne se trouve donc jamais dans une situation de contradiction ! Par conséquent j'aurais tendance à dire qu'il ne peut pas raisonner par l'absurde. Au mieux, il ne pourra pas démontrer l'hypothèse absurde, mais ne pas pouvoir la démontrer ne signifie pas qu'elle entre en contradiction avec les axiomes (il se peut qu'il s'agisse d'une propriété non démontrable).
Maintenant, il y a peut-être de nouvelles technologies qui en sont capables, les réseaux neuronaux, peut-être ? Mais là, je m'arrête, ça dépasse mes compétences techniques.
je ne suis pas persuadé qu'un moteur d'inférences ne puisse pas permettre un raisonnement par l'absurde :
soit les règles A => B ; B => C ; B => D ; D => E
en supposant A, il déduira E
si E = non A, il aura montré que A est fausse
un codage annexe aisé doit permettre de filtrer les absurdités dans un moteur de facture classique
Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
c'est très mathématique comme solution mais elle me convient.
Dès que j'ai un problème à résoudre par l'absurde je reviendrai vous en faire part.
Hmm... c'est vrai qu'un raisonnement par l'absurde peut se résumer à A => non-A, donc c'est théoriquement possible.je ne suis pas persuadé qu'un moteur d'inférences ne puisse pas permettre un raisonnement par l'absurde :
soit les règles A => B ; B => C ; B => D ; D => E
en supposant A, il déduira E
si E = non A, il aura montré que A est fausse
Je ne sais pas pourquoi, mais je me suis lancé dans des considérations bien trop compliquées. La sénilité me guette.
En fait j'aimerais matérialiser un problème quelconque où le raisonnement par l'absurde est applicable.
Exemple : 2 = 3 dans le cas où l'on applique les identités remarquables.
J'attends vos réponses.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager