B2 · 第4集 · 5:09

软件的三重复杂性

科学家解释软件为何是人类制造的最复杂对象:规模庞大、非线性行为、与现实世界深度交织。

来源:Université de Rennes / Wikimedia Commons · 许可:CC BY 3.0

字幕

  1. Ensuite, on a une deuxième dimension de complexité qui est liée,

    接下来,还有第二个复杂性维度,

  2. qui a rien à voir avec la première,

    它与第一个维度毫无关系,

  3. qui est liée à la taille de ce logiciel- là. C'est- à- dire que quand on a un petit

    它取决于这个软件的规模。也就是说,当软件较小时,

  4. logiciel, un être humain est capable de le comprendre dans son intégralité,

    人类能够完全理解它;

  5. mais rapidement quand le logiciel grandit, on n'a plus le moyen de le comprendre.

    但软件一旦变大,我们就无法再理解它了。

  6. Il faut savoir que les logiciels grandissent d'à peu près.

    需要知道的是,软件大致上是不断发展的。

  7. tous les dix ans, avec une caractéristique qui est

    每十年一次,其特点是

  8. que ces logiciels sont constitués de centaines de millions de pièces individuelles

    这些软件由数亿个独立部件构成

  9. qui sont toutes différentes et qui interagissent entre elles

    每个部件各不相同,且彼此相互作用

  10. avec des schémas potentiellement extrêmement

    其交互模式可能极其

  11. compliqués et surtout de manière non linéaire, voire chaotique,

    复杂,尤其是呈非线性甚至混沌状态

  12. c'est- à- dire qu'un petit problème à un moment donné peut se propager et

    也就是说,某一时刻出现的小问题可能迅速扩散,并

  13. complètement mettre par terre l'ensemble des choses,

    彻底摧毁整个系统

  14. ce qu'on ne va pas trouver dans d'autres disciplines qui sont beaucoup plus

    这在其他更为连续的学科中是找不到的

  15. continues, c'est- à- dire ce n'est pas parce qu'il y a un écrou qui saute du pont

    比如桥梁上一颗螺栓脱落

  16. que le pont va s'écrouler, alors que là, l'équivalent dans un logiciel,

    并不会导致整座桥梁坍塌;而软件中与此类似的情况是

  17. un endroit qui pose un problème peut potentiellement faire s'écrouler l'ensemble.

    某个局部问题可能引发整个系统崩溃

  18. Donc clairement, les logiciels sont aujourd'hui les choses les plus complexes qui

    因此,显而易见,软件是当今

  19. ont été produites par le genre humain.

    人类所创造出的最复杂的东西。

  20. Et donc ça, ça donne une deuxième dimension de complexité.

    因此,这带来了复杂性的第二个维度。

  21. Et la troisième dimension de complexité,

    第三种复杂性维度,

  22. qui a à nouveau rien à voir avec les deux premières,

    再次与前两种毫无关联,

  23. est liée au fait que les logiciels ne sont pas seulement des objets mathématiques,

    源于软件不仅是数学对象,

  24. mais ils sont plongés dans le monde réel.

    更深深嵌入现实世界之中。

  25. Ils sont plongés dans le monde réel, je dirais,

    他们深陷于现实世界之中,我想说,

  26. ils sont pris en sandwich entre la machine sur laquelle ils s'exécutent et les

    夹在运行它们的机器与使用它们的人之间,

  27. humains qui les utilisent, ou les utilisateurs en général qui les utilisent.

    或者说,夹在所有用户之间。

  28. Et forcément, il y a un trou, un gap entre le

    当然,软件、我们所能了解的内容,与机器的实际状况之间

  29. logiciel, ce qu'on est capable de savoir, et la réalité de la machine d'une part,

    一方面存在一道鸿沟;

  30. et la réalité de ce que veulent les humains de l'autre part.

    另一方面,人类的真实需求也与之存在鸿沟。

  31. En particulier sur les grands logiciels qui ont de multiples parties prenantes,

    尤其是大型软件,涉及众多利益相关方,

  32. énormément d'utilisateurs qui

    拥有海量用户,

  33. ont des métiers différents qui doivent interagir, ça donne évidemment des

    这些用户职业各异,又必须相互协作,

  34. exigences qui peuvent être contradictoires et qui sont extrêmement difficiles à

    这自然导致了彼此矛盾的需求,

  35. prendre en compte pour le logiciel et qui sont source d'énormément de malentendus,

    而这些需求极难被软件兼顾,也极易引发严重误解,

  36. qui sont une source terrible de bugs et d'évolutions dans les logiciels.

    成为软件中大量缺陷和后续演化的根源。

  37. Donc trois grosses dimensions de complexité qu'il faut arriver à gérer.

    因此,我们必须应对三大主要复杂性维度。

  38. Le rôle de l'informatique qui a déjà beaucoup transformé la société et les sciences,

    计算机科学已深刻改变了社会与科学,

  39. mais amené encore.

    但它的变革作用还将持续增强。

  40. la transformer.

    它将继续推动变革。

  41. En particulier, si on fait une petite projection historique,

    特别是,若做一次简要的历史展望,

  42. on voit que traditionnellement, en tout cas depuis plusieurs siècles,

    我们会发现,至少近几个世纪以来,

  43. les mathématiques étaient le langage des sciences,

    数学一直是科学的语言,

  44. c'est- à- dire le langage qui permettait de prendre des problèmes,

    即用来将问题形式化、建模的语言,

  45. de les mathématiser, de les décrire sous forme mathématique,

    将其转化为数学描述,

  46. et d'en trouver des solutions qui étaient suffisamment bonnes pour s'avérer

    并找到足够精确的解,

  47. prédictives vis- à- vis du monde réel.

    从而准确预测现实世界的变化。

  48. On pense à la pomme de Newton et la

    比如牛顿的苹果,

  49. capacité à prévoir sa vitesse au moment où elle va tomber au sol.

    以及我们据此预测它落地瞬间速度的能力。

  50. Malheureusement, les mathématiques ne peuvent régler que des problèmes relativement

    遗憾的是,数学只能解决相对简单的问题,

  51. simples, alors que le monde qui nous entoure est complexe.

    而我们身处的世界却极为复杂。

  52. Donc ce qu'on fait, c'est qu'on fabrique des modèles informatiques de ces

    因此,我们转而为这些问题构建计算机模型,

  53. problèmes- là, et on en

    并加以实现,

  54. fait des modèles qui sont opérationnels,

    使之具备可操作性,

  55. c'est- à- dire qui vont nous permettre de faire des simulations et qui vont nous

    也就是能用于模拟,

  56. permettre de quelque part remplacer ces modèles mathématiques qui vont nous servir

    从而在某种程度上替代传统数学模型,

  57. donc à décrire une certaine réalité et à être prédictifs vis- à- vis de cette

    用以描述特定现实,并对这一现实做出预测。

  58. réalité. On va pouvoir poser des questions au modèle et on va vérifier que ces

    我们可以向模型提出问题,

  59. questions- là ont les mêmes réponses ou une réponse suffisamment proche de la

    再验证其答案是否与现实一致,或足够接近现实。

  60. réalité. Les systèmes les plus complexes qu'on produit sont eux- mêmes du logiciel.

    而我们所构建的最复杂系统,本身也是软件。

  61. Donc évidemment, il vient assez spontanément l'idée d'utiliser du logiciel pour

    因此,很自然地,人们会想到用软件来

  62. modéliser d'autres logiciels.

    建模其他软件。

  63. Chaque auteur de logiciel développe finalement un modèle d'un aspect du monde réel.

    每位软件开发者最终都在构建现实世界某一方面的模型。

  64. Alors ça va évidemment plus loin que ça,

    当然,这远不止于此,

  65. puisque à partir du moment où on fait ça,

    因为一旦我们这么做,

  66. en fait rapidement le modèle et le programme, le logiciel,

    模型与程序(即软件)很快就会融为一体,

  67. va dans une certaine mesure supplanter la réalité ou la remplacer.

    在某种程度上,软件甚至会取代或替代现实本身。

  68. En prenant un exemple très très simple, pendant très très longtemps,

    举一个非常非常简单的例子:很长一段时间以来,

  69. quand on avait une somme d'argent,

    当我们拥有一笔钱时,

  70. c'était des pièces dans une tirelire. Aujourd'hui, depuis quelques

    它就是存钱罐里的硬币。而如今,几十年来,

  71. décennies, c'est des bits dans la mémoire d'un ordinateur qui représentent ce que

    它已变成计算机内存中的比特,代表你银行账户里的金额。

  72. vous avez sur votre compte en banque.

    它代表某种东西,但同时它就是现实本身。

  73. Donc ça représente quelque chose, mais en même temps, c'est la réalité.

    也就是说,万一这些数据被意外删除——我向大家保证这不会发生,

  74. C'est- à- dire si jamais par mégarde c'était effacé, je vous rassure,

    但假如真被删了,

  75. ça ne va pas se produire, mais si c'était effacé, vous n'auriez plus d'argent.

    你的钱就真的没了。

  76. Donc c'est bien que la

    因此,银行账户这一概念,

  77. notion de compte en banque est aujourd'hui purement et simplement quelque chose qui

    如今已纯粹是一种虚拟存在,

  78. existe virtuellement dans la mémoire d'un ordinateur.

    它只存在于计算机的内存之中。

  79. De ce point de vue, on voit que l'informatique et le logiciel vont avoir un impact

    从这个角度看,我们可以看到,信息技术和软件将对世界产生重大影响,

  80. significatif sur le monde, encore plus que tout ce qui s'est produit.

    其影响程度将超过以往任何技术变革。

  81. On est sur quelque chose d'exponentiel,

    我们正处在指数级发展的阶段,

  82. ça veut dire tout ce qui s'est produit dans le passé et rien du tout par rapport à

    这意味着过去所发生的一切,与未来将要发生的相比,

  83. ce qui va se produire dans le futur.

    几乎可以忽略不计。

  84. Et donc en tant que chercheur en informatique,

    因此,作为一名计算机科学研究者,

  85. on est en première loge pour voir ces choses- là qui vont arriver et attirer

    我们处于最前沿,能最先观察到这些即将发生的变化,

  86. l'attention de la société et des pouvoirs publics sur les conséquences pour la

    并引导社会和公共部门关注这些变化给社会带来的后果。

  87. société de ces évolutions qui sont inéluctables en général,

    这些变化总体上不可避免,

  88. mais qu'on peut sans doute quand même essayer de guider dans des principes éthiques

    但我们仍可尝试以伦理原则为指引,加以引导,

  89. et en tout cas qui doivent être débattues au plus haut niveau.

    至少必须在最高层面展开充分讨论。

  90. Et je pense que c'est effectivement notre rôle d'au moins d'alerter les gens sur le

    我认为,至少提醒人们注意

  91. futur probable vers lequel on se dirige.

    我们正走向的可能的未来。