Complexité et humilité

L'ingénieur, le permaculteur, et la Nature

Une dé­fi­ni­tion simple de la complexité

Un sys­tème com­plexe, c’est un sys­tème dans le­quel les dif­fé­rents sous-systèmes sont im­bri­qués, quand il y a des in­ter­dé­pen­dances dans les deux sens entre des élé­ments à des échelles très di­verses. En par­ti­cu­lier des échelles de taille et des échelles de temps.

La com­plexité, c’est l’enfer pour l’ingénieur. On ne sait plus dire si le sys­tème est stable, in­stable ou chao­tique, on ne sait plus pré­voir ses per­for­mances car tout est cou­plé avec tout et ré­ci­pro­que­ment, ce qui fait qu’on est condamné à consi­dé­rer le sys­tème dans sa glo­ba­lité. Pour un avion, ça veut dire être ca­pable de com­prendre et pré­voir non seule­ment le fonc­tion­ne­ment de cha­cun des sous-système, mais la fa­çon dont il in­fluence (et se trouve in­fluencé) par cha­cun des autres sous-systèmes : aé­ro­dy­na­mique, struc­ture, com­mandes de vol, cir­cuits pneu­ma­tiques, condi­tion­ne­ment d’air, cir­cuits élec­triques, cir­cuits hy­drau­liques, train d’atterrissage, frei­nage, mo­teurs, contrôle aé­rien, ré­gle­men­ta­tion, etc.

Sys­tème dé­cou­plé, sys­tème couplé

En gé­né­ral, la so­lu­tion pour s’en sor­tir est de tailler dans le lard et de faire abs­trac­tion de nom­breuses in­ter­dé­pen­dances, en dé­ci­dant qu’on com­mence par un bout en conce­vant un pre­mier sous-système et qu’on verra les consé­quences sur les autres en­suite, en es­pé­rant que le pro­ces­sus conver­gera. Pour un sys­tème qu’on connaît déjà bien et sur le­quel on veut faire de pe­tites adap­ta­tions, ça marche pas mal. Mais pour conce­voir un nou­veau sys­tème qu’on veut ‘op­ti­mum’ par rap­port à un ca­hier des charges nou­veau, on se bride trop si on est in­ca­pable de consi­dé­rer le sys­tème global.

Mal­heu­reu­se­ment, l’esprit hu­main n’est pas conçu pour pou­voir ap­pré­hen­der un sys­tème com­plexe dans sa glo­ba­lité. On com­prend bien les re­la­tions cause-effet de type hié­rar­chique telles que A=>B, B=>C, B=>D, mais on n’a pas les moyens d’appréhender cor­rec­te­ment un sys­tème in­ter­dé­pen­dant tel que A=>B, B=>C, C=>A, C=>B, C=>D, D=>C. Quand on n’a pas un bout de fil par où on peut com­men­cer à ti­rer, on est désem­paré. Il n’y a rien qu’à voir notre per­plexité de­vant la ques­tion de la poule et de l’oeuf (qui est la plus simple des re­la­tions in­ter­dé­pen­dantes : poule=>oeuf, oeuf=>poule).

Quand les sys­tèmes sont li­néaires, on sait en­core à peu près faire. Li­néaire, ça veut dire que les consé­quences sont pro­por­tion­nelles aux causes. Dans ce cas, on dis­pose d’un ar­se­nal ma­thé­ma­tique sur­puis­sant. Mal­heu­reu­se­ment, seuls les sys­tèmes sim­plistes conçus par des in­gé­nieurs sont par­fois li­néaires. Ou bien des sys­tèmes qu’on per­turbe à peine à peine de leur point de fonc­tion­ne­ment stable. La plu­part des sys­tèmes ne le sont pas. Et là, on ne sait plus faire grand-chose, à part si­mu­ler et voir ce qui se passe (quand on dis­pose d’un mo­dèle phy­sique pour simuler).

Quand tout est couplé

Pre­nons un exemple fic­tif em­prunté à la concep­tion aé­ro­nau­tique : ima­gi­nons que sur un avion je veuille éven­tuel­le­ment re­cu­ler le point d’attache du train d’atterrissage afin de ga­gner de la place au ni­veau de la soute avant. Le train étant plus à l’arrière, il fau­dra for­cer da­van­tage sur la gou­verne de pro­fon­deur pour faire bais­ser la queue et ca­brer l’avion au dé­col­lage ; donc je dois aug­men­ter la taille de la gou­verne de pro­fon­deur, et donc la taille des ac­tion­neurs hy­drau­liques qui la font bou­ger, donc peut-être la ca­pa­cité des pompes hy­drau­liques. Ceci ponc­tionne da­van­tage de puis­sance sur les mo­teurs et conduira peut-être à des dis­tances de dé­col­lage ac­crues ; mais aussi, le train plus à l’arrière per­met d’incliner da­van­tage le fu­se­lage sans que la queue touche la piste, ce qui per­met peut-être de ca­brer da­van­tage au dé­col­lage et donc fi­na­le­ment de dé­col­ler plus court.

Ima­gi­nez que pour à peu près chaque in­ter­dé­pen­dance avec chaque sys­tème, il y ait à la fois des ef­fets po­si­tifs et né­ga­tifs d’un re­cul du train, les­quels n’ont au­cune rai­son de se com­pen­ser. Il me fau­drait donc éva­luer les consé­quences une par une pour sa­voir si la mo­di­fi­ca­tion pro­po­sée est bé­né­fique ou né­faste. Et pour l’instant, je n’ai changé qu’un seul pa­ra­mètre : ima­gi­nez que je veuille en chan­ger deux, ou vingt, ou mille ! Pour chaque com­bi­nai­son de pa­ra­mètres, j’en suis à re­cal­cu­ler en­tiè­re­ment le com­por­te­ment du sys­tème dans sa globalité.

L’évolution au se­cours de l’ingénieur

Confronté à un pro­blème d’une telle com­plexité avec un si grand nombre de pos­si­bi­li­tés où il est im­pos­sible de pré­voir sé­pa­ré­ment les consé­quences de cha­cune, l’ingénieur aban­donne toute ar­ro­gance et s’en re­met à dame Nature.

Sans rire : une tech­nique d’optimisation sou­vent uti­li­sée dans la concep­tion de sys­tèmes com­plexes, c’est l’optimisation évo­lu­tion­niste, au­tre­ment ap­pe­lée “al­go­rithmes gé­né­tiques”. On s’inspire de la théo­rie de l’évolution de la fa­çon sui­vante : on choi­sit une fa­çon de pa­ra­mé­trer le sys­tème qui puisse s’apparenter à un gé­nome, chaque “gène” dé­fi­nis­sant une ca­rac­té­ris­tique du sys­tème (train avancé ou re­culé, aile haute ou aile basse, nombre de sièges, nombre de mo­teurs, etc.). On gé­nère ini­tia­le­ment une “po­pu­la­tion” de sys­tèmes avec des ca­rac­té­ris­tiques un peu ti­rées au pif, et on éva­lue leurs per­for­mances (gros cal­culs, si on a la chance d’avoir un mo­dèle nu­mé­rique per­ti­nent, si­non on laisse tom­ber). On garde les meilleurs, on les fait se re­pro­duire entre eux (je vous laisse fan­tas­mer sur la sexua­lité des avant-projets d’avion), ce qui di­ver­si­fie les ca­rac­té­ris­tiques de la gé­né­ra­tion sui­vante. On éva­lue alors les per­for­mances de cette nou­velle gé­né­ra­tion, on garde les meilleurs, et ainsi de suite. Pour les cu­rieux, je ren­voie à un tra­vail de thèse pu­blié en 2007.

L’humilité du concepteur

Voilà pour­quoi je suis per­suadé que dans la concep­tion de sys­tèmes agraires, il est illu­soire de vou­loir maî­tri­ser grand-chose. C’est évident en agri­cul­ture conven­tion­nelle où la Na­ture a le don de se ven­ger des er­re­ments de l’apprenti-sorcier (qu’il soit chi­miste, gé­né­ti­cien ou sim­ple­ment la­bou­reur). Mais même en concep­tion per­ma­cul­tu­relle, quand on cherche à imi­ter la Na­ture avec la meilleure vo­lonté du monde, il faut sa­voir gar­der une grande hu­mi­lité. Les éco­sys­tèmes sont des sys­tèmes com­plexes et je n’ai pas la pré­ten­tion de croire que je peux les conce­voir ni même les en­vi­sa­ger dans leur globalité.

Quelle que soit l’élégance théo­rique de telle ou telle ‘tech­nique’ per­ma­cul­tu­relle, c’est bien la Na­ture et l’écosystème du lieu qui dé­ci­de­ront du suc­cès ou de l’échec. Nous sa­vons ra­re­ment faire mieux que la Na­ture, puisque ça fait déjà des cen­taines de mil­lions d’années qu’elle op­ti­mise le sys­tème ultra-complexe de la vie en uti­li­sant l’un des meilleurs al­go­rithmes que nous connais­sions (avec quelques raf­fi­ne­ments sup­plé­men­taires que nous avons bien du mal à com­prendre). D’où l’importance vi­tale de l’observer sans cesse afin de l’imiter au mieux, et de tem­pé­rer l’ambition de nos in­ter­ven­tions, de peur qu’elles pro­duisent l’effet in­verse de ce­lui es­compté. C’est la grande sa­gesse du ‘non-agir’ chère à Ma­sa­nobu Fu­kuoka.