B1 · 第3集 · 4:42
算法到底是什么
本集用麦卡莲娜舞和体育热身活动为例,解释算法是精确、有序的指令序列,包含循环等结构。
来源:Bruno Lambert / tube-numerique-educatif.apps.education.fr · 许可:CC BY-SA 4.0
字幕
La Macarena, avec ces mouvements très détaillés qu'on va faire dans un certain
《马卡雷纳》舞,其动作细节丰富,
ordre, etc. , c'est typiquement une chorégraphie,
我们将按特定顺序完成这些动作等,
finalement une chorégraphie aussi linéaire et aussi
本质上正是一种编舞,
stricte que la chorégraphie de la Macarena.
最终,它和《马卡雷纳》本身的编舞一样线性、一样严格。
Toutes les chorégraphies écrites finalement qui vont pouvoir se coder avec des
所有那些最终能用编舞编码规则
codes de chorégraphie,
来编码的编舞,
se décrire précisément, ça va être quelque chose de l'ordre de
都能被精确描述,这类描述属于
l'algorithme. Finalement, les mouvements qu'on fait pour danser cette danse ne sont
算法范畴。最终,我们跳这支舞时所做的动作,
pas beaucoup plus élaborés que les séries d'instructions qu'on donnerait à un Bibo
并不比给机器人Bibo或Blupo下达的移动指令序列
ou à un Blupo pour se déplacer.
复杂多少。
Si je vais danser pour faire la fête,
如果我跳舞是为了狂欢,
à un, à deux, à plusieurs,
独自一人、两人,或多人一起,
en boîte, dans une rave party ou dans un mariage, là,
在夜店、锐舞派对或婚礼上,此时,
il y a de fortes chances qu'on ne soit pas du tout dans quelque chose
我们极有可能完全不涉及
d'algorithmique, de chorégraphié.
任何算法化或编舞化的活动。
Voilà, c'est bien plus l'instant, l'instin et
没错,这更关乎当下、本能,
l'improvisation et le moment, et donc on n'est pas dans quelque chose
即兴发挥与临场感,因此我们并不处于
d'algorithmique.
算法化的情境中。
Donc ce n'est pas des activités en elles- mêmes qui sont algorithmiques,
所以,并非这些活动本身具有算法性,
c'est certaines qui vont l'être.
而是其中某些情况才具备这种特性。
On peut danser, dans certains cas, oui, dans certains cas, pas
在某些情况下,我们可以跳舞——是的;
du tout. J'ai fait quelques recherches et du coup j'ai trouvé un site où on apprend
但在另一些情况下,则完全不行。我做了一些调研,结果发现一个教人跳《马卡雷纳》的网站,
à danser la Macarena et qui donne
该网站给出了《马卡雷纳》的
l'algorithme de la Macarena.
《马卡雷纳》舞蹈算法。
Donc les paramètres initiaux, ça va être la musique,
初始参数包括音乐,
ça va être savoir que chaque mesure fait huit temps,
还包括每小节有八拍这一事实,
qu'il y a un mouvement par temps,
且每个节拍对应一个动作,
et on peut comme ça décrire.
据此我们就能进行描述。
Dans une suite ordonnée d'instructions,
在一系列有序的指令中,
ce qu'il faut faire pour danser la macarena. Sur le premier temps,
跳麦卡伦娜舞的具体步骤如下:第一拍时,
placez votre bras droit devant vous, paume vers le bas.
将右臂伸至身前,掌心向下。
Au deuxième temps, placez votre bras gauche de la même façon.
第二拍时,左臂以同样方式伸出。
Donc voilà, là on a une suite d'instructions,
所以,这就是一组指令,
je vais pas les lire exhaustivement, mais on a
我就不逐条念了,但其中体现的,
quelque chose qui relève complètement de.
完全是……
Et à la fin, on a recommencé jusqu'à la fin de la musique,
最后,我们重复整套动作,直到音乐结束。
ce qui veut dire que là on a une boucle et on verra plus tard,
这意味着这里存在一个循环;稍后我们会讲到,
voilà, ce que les boucles, ce sont des instructions dans un algorithme qui
所谓循环,就是算法中的一类指令,
permettent d'éviter les répétitions,
用于避免重复操作。
parce que là il faudrait que je recopie tout plusieurs fois pour décrire ce que je
否则,我就得把所有动作反复抄写多次,才能描述清楚我的动作。
fais, ben non, là je dis on recommence et c'est une boucle conditionnelle,
但其实不用——我只需说‘重新开始’,这就构成一个条件循环:
c'est que je vais recommencer jusqu'à la fin de la musique.
即‘一直重复,直到音乐结束’。
Donc voilà comment on peut décrire une chorégraphie telle que la Macarena en termes
因此,我们就能用算法语言来描述麦卡伦娜这样的舞蹈编排。
d'algorithmique.
(即算法思维的语言)
Et effectivement, de nombreuses activités pour initier les élèves à l'algorithmique
事实上,许多面向学生的算法启蒙活动,
vont passer par le corps, par donner des séries d'instructions à faire jouer le
都会借助身体参与,比如让学生扮演机器人,执行一连串指令。
robot à l'élève.
(即‘人体机器人’)
Alors en EPS, en motricité, on peut travailler sur la box.
例如体育课或运动能力训练中,我们可以开展拳击练习。
On peut avoir comme à gauche une séance.
左边展示的是一节课的安排。
Une séance d'échauffement.
一节热身课。
Donc là, en fonction de ce qu'on voit de
那么,根据我们观察到的,
l'élève qui fait sa séance d'échauffement,
学生正在做的热身内容,
on peut très bien imaginer la série d'instructions, les mouvements du genou,
我们完全可以设计出一套指令序列:比如屈膝动作,
les mouvements des épaules, les moulinets des bras,
耸肩动作、手臂绕环,
les gestes où on fait un peu l'oiseau en sautillant d'un pas sur l'autre,
还有像小鸟一样轻跳换脚的动作,
à chaque fois on les répète cinq fois, coup de poing à droite,
每个动作重复五次:右拳出击,
coup de poing à gauche, coup de poing vers le haut,
左拳出击、向上出拳,
coup de poing vers le bas, remuer la nuque.
向下出拳、转动颈部。
Donc on voit bien que derrière tout ça, cette
因此我们清楚地看到,这一切背后,这个
séance d'échauffement, c'est une série d'instructions ordonnées
热身环节,其实是一系列有序的指令
dans laquelle je vais
其中我会安排
avoir des petites boucles, cinq sauts en l'air, cinq mouvements des genoux,
几个小循环:五次原地跳跃、五次屈膝运动,
cinq mouvements de la nuque, etc.
五次颈部活动,等等。
Donc j'ai bien une série d'instructions avec des petites boucles.
因此,我确实拥有一套带小循环的指令序列。
Les paramètres initiaux, ça va être d'être en tenue de sport et dans un endroit
初始参数是:穿着运动服,并在
fait pour la pratique de l'EPS.
适合开展体育课的场所。
Le résultat final.
最终目标是:
c'est d'avoir des élèves qui sont échauffés pour la séance de boxe.
让学生们为拳击课做好充分热身。
Le match de boxe, lui, n'a rien à voir avec l'algorithmique.
而拳击比赛本身,与算法毫无关系。
Le match de tennis non plus, le match de foot non plus.
网球比赛同样无关,足球比赛也同样无关。
On peut imaginer des matchs de boxe entre robots,
我们可以设想机器人之间的拳击比赛,
mais ça n'a strictement rien à voir avec ce que produisent deux humains,
但这与人类之间进行的比赛
deux équipes d'humains dans
或两支人类队伍
une activité sportive.
在体育活动中所展现的内容。
Voilà quelques exemples, ce
以上是一些例子:哪些属于某类活动中
qui relève d'un algorithme dans un type d'activité, ce qui n'en relève pas.
的算法,哪些则不属于。