B-ADSc est une méthode à double boucle (ou double récursivité) qui s’inscrit dans le courant de pensée systémique. Dans la littérature (voir par exemple http://fr.wikipedia.org/wiki/Organisation_apprenante), ces approches sont considérées comme étant les seules permettant l’apprentissage, car il ne s’agit pas uniquement de détecter un problème et de le corriger (simple boucle), mais de modifier en parallèle ses objectifs et sa façon de penser ou de faire.

Historiquement et épistémologiquement, B-ADSc ne se rattache pas à la mouvance ‘behavioriste’ (comportementaliste), mais cybernétique (ou cognitiviste). Selon ce courant, le comportement intelligible d’un ‘agent’ est à la fois inné et acquis ; et, selon certaines branches de ce courant, s’agissant de l’acquis, l’apprentissage est un mécanisme d’adaptation perpétuel, issu de l’expérience. Enfin, toujours selon ce modèle cybernétique, le comportement intelligible de l’agent modifie nécessairement son entourage (idem physique quantique ;-) ).

En cybernétique, on distingue habituellement 3 approches classiques et complémentaires du fonctionnement cérébral :

1- Isomorphie « fonctionnement cerveau »/ordinateur

Citons principalement les travaux de Turing, Pitts, Minsky ...

On trouve essentiellement dans cette catégorie l’IA à base d’algorithmes, la programmation procédurale (PASCAL, FORTRAN, langages de script, …), etc.

2- D’autres approches prennent en compte le fonctionnement dans un contexte ouvert, incertain ou changeant

Ces approches sont bien adapté à la maintenance, la prédiction, l’aide à la décision ou au diagnostic… mais le sont moins pour le pilotage opérationnel de systèmes critiques (forte prise en compte de la ‘sûreté de fonctionnement’). En effet, les bases de connaissance utilisées (voir ci-dessous) sont subjectives, non contextuelles, et il y a souvent impossibilité de démontrer leur cohérence.

Voir à ce sujet les travaux de H. Simon (Théorie de la rationalité limitée), Newell

Dans cette catégorie, on trouve :
a. L’IA à base de connaissance
Un logiciel peut, par exemple, s’appuyer sur 3 sources externes :
i. Bases de connaissances (origine = experts, les utilisateurs via l’ergonomie cognitive …)
ii. Moteurs d’inférences (à partir de connaissances explicites, déduire des connaissances implicites : mise en œuvre logique de 1er ordre, 2nd / théorie des ensembles, logique d’ordre supérieur ou 3ème ordre, récursivité, chainage avant / arrière) …
iii. Bases de faits : occurrences (évènements)
b. La programmation de « systèmes experts » (arbres de connaissance, systèmes multi-agents, matrices à propagation de contraintes …)

3- En sus des points précédents, la prise en compte de l’auto apprentissage et de l’auto organisation

Cette prise en compte permet de pallier l’impossibilité de démontrer la cohérence des bases de connaissance, notamment d’éviter l’antinomie des éléments de la base de connaissance qui peut impacter les résultats des moteurs d’inférences. La notion d’auto-organisation est très liée au phénomène « d’émergence », terme important en systémique / sciences de la complexité.

Citons ici les travaux de Jean Piaget, d’Herbert Simon, d’Edelman, Jens Rasmussen, et Janusz Bucki (le concepteur de B-ADSc) …

De façon très grossière, les concepts généraux communs à ces travaux sont :
a. L’organisation est une structure adaptative, qui connait un apprentissage perpétuel : externe (voir point 2), mais aussi interne (auto-apprentissage)
b. Elle s’attache (i.e. dépense son énergie) à trouver en permanence un équilibre cognitif, selon ses objectifs propres et/ou ceux qui lui sont délégués, et les moyens dont elle dispose
c. Pour cela elle résout les problèmes qu’on lui transmet ou qu’elle identifie, de façon autoréférentielle, dans une succession d’états donnés :
i. Soit via la perception de changements externes, ou écarts
ii. Soit via la perception de modifications internes, ou écarts
iii. En sollicitant les moyens dont elle dispose via des décisions
d. Pour ne pas dépenser trop d’énergie, elle privilégie les stratégies les plus adaptées au contexte, ou qui « marchent le mieux » (cf. "rationalité limitée" d’Herbert Simon ou le concept de "principle of good enough", VS les stratégies optimales et parfaites… voir "Démon de Laplace"). Le corolaire est que, dans l’analyse ou la modélisation, l’accent est mis sur le pilotage opérationnel et la recherche de résultat, VS l’exhaustivité des fonctions ou des moyens.

Dans cette catégorie, on trouve :
a. La prise en compte d’agents externes, les SMA ‘étendus’ (systèmes multi-agents)
b. Les [graphes ouverts|tag:graphes ouverts], les [réseaux neuronaux|tag:réseaux neuronaux], le [Deep learning|tag:Deep learning], etc.
c. B-ADSc :

Pour B-ADSc, la caractéristique la plus importante d’une organisation (d’un groupe d’agents, d’un agent …) est sa capacité à élaborer des décisions concernant la conduite des processus dont elle a la charge… d’où le nom « d’Analyse Décisionnelle des Systèmes complexes ».
C’est une [méthode|tag:méthode], disposant d’un formalisme mathématique : c’est une algèbre absorbante.
Cette méthode permet de décrire l’élaboration des décisions, prises par un/des agent(s) autonome(s), en fonction de ses/leurs objectifs, et en fonction de sa/leurs vision(s) de l’état du processus dont il a/ont la charge.
Parce qu’il s’agit d’une algèbre, concevoir un logiciel avec B-ADSc revient donc à faire intrinsèquement de la programmation par preuves.
B-ADSc est donc parfaitement indiquée dès qu’il s’agit d’automatiser des processus décisionnels complexes et critiques, de travailler (analyse, audit) sur la cohésion globale d’un système socio-technique complexe (analyse orientée ‘pilotage opérationnel’ dans le respect des finalités / objectifs communs). Elle permet notamment de modéliser, au sein des systèmes socio-techniques complexes, les comportements des acteurs autonomes (hommes, objets ou automates)… et de les les automatiser (applicatifs).