tangenteAudio

16 janv. 2017 · 26 min

Automates finis : pourquoi certains langages leur échappent-ils ?

Dans cet épisode audio, suivez un mot d’état en état, puis découvrez pourquoi une machine à mémoire finie ne peut pas reconnaître tous les langages.

Premium
Collections de cet épisode (2)

Un contenu original Tangente, adapté en podcast avec l’aide de l’IA et validé par notre rédaction. Comment ça marche ?

D’après l’articleLire l’article dans la revue

Transcription

Afficher la transcription

Transcription automatique

  1. Intervenant 1

    Bienvenue dans le podcast du magazine Tangente. Je suis très heureuse de vous retrouver pour cette nouvelle exploration. Et bon, pour commencer aujourd'hui, j'aimerais vous poser une petite devinette.

  2. Intervenant 2

    Allez-y, je vous écoute.

  3. Intervenant 1

    Alors, à votre avis, quel est le lien exact, le point commun vraiment fondamental entre le dictionnaire de la langue française, le code source d'un programme informatique que vous utilisez tous les jours et l'ADN qui se trouve à l'intérieur de nos cellules ?

  4. Intervenant 2

    C'est une excellente question pour démarrer et la réponse tient en un seul mot en fait. Un concept qui est abstrait mais extrêmement puissant, c'est la notion de langage.

  5. Intervenant 1

    Le langage, d'accord.

  6. Intervenant 2

    Voilà, le langage. Et l'objectif de notre plongée d'aujourd'hui, c'est justement de comprendre comment on peut manipuler mathématiquement ces langages. Grâce à ce qu'on appelle des machines abstraites. On va voir comment on les traite et surtout, on va découvrir les limites physiques et mathématiques de ces outils informatiques.

  7. Intervenant 1

    Ok, décortiquons un peu ça, parce que quand on utilise le mot « langage » dans la vie de tous les jours, on pense tout de suite à la communication, non ?

  8. Intervenant 2

    C'est ça, ouais.

  9. Intervenant 1

    On pense à Molière, à la poésie, ça implique du sens, de la sémantique. Mais j'imagine qu'en mathématiques ou en informatique théorique, on aborde la chose sous un angle beaucoup plus froid, non ?

  10. Intervenant 2

    Oui, complètement. C'est même le point de départ indispensable en fait.

  11. Intervenant 1

    On s'en fiche du sens, c'est ça ?

  12. Intervenant 2

    Exactement. Il faut totalement se détacher de l'idée de signification. Que le mot veuille dire quelque chose ou pas, ça n'a aucune importance.

  13. Intervenant 1

    Ah ouais ?

  14. Intervenant 2

    Ce qui compte, c'est la validité de sa construction. C'est sa structure.

  15. Intervenant 1

    D'accord.

  16. Intervenant 2

    Pour ça, on pose des définitions qui sont très rigoureuses. La première brique, vraiment le B à bas, c'est l'alphabet.

  17. Intervenant 1

    L'alphabet, OK. Comme A, B, C, D.

  18. Intervenant 2

    C'est ça. Dans notre contexte théorique, un alphabet, c'est tout simplement un ensemble fini de caractères.

  19. Intervenant 1

    Fini, donc ça veut dire qu'il a une

  20. Intervenant 2

    fin. Voilà, il y a un nombre précis d'éléments. Par exemple, si on prend l'ADN, l'alphabet génétique ne comporte que quatre lettres.

  21. Intervenant 1

    Ouais, les nucléotides, c'est ça. A, C, G et

  22. Intervenant 2

    T. Exactement. Quatre lettres. C'est fini. Mais en théorie pure, on peut imaginer un alphabet qui ne contiendrait que les lettres A, B et C.

  23. Intervenant 1

    Ok.

  24. Intervenant 2

    La seule règle stricte, vraiment la seule, c'est que cet ensemble de bases doit être fini. On ne peut pas avoir une infinité de caractères de bases.

  25. Intervenant 1

    Je vois. Donc si je file un peu la métaphore, l'alphabet c'est un peu comme une boîte de briques de construction quoi.

  26. Intervenant 2

    Ouais, c'est une très bonne image.

  27. Intervenant 1

    On a un nombre limité de formes et de couleurs, disons trois types de briques. Et ça, c'est notre ensemble fini. Ce sont nos caractères. Et à partir de là, j'imagine qu'on construit ce qu'on appelle des

  28. Intervenant 2

    mots.

  29. Intervenant 1

    C'est exactement ça. Un mot, dans ce cadre formel, c'est juste une suite finie de caractères qu'on va piocher dans notre alphabet.

  30. Intervenant 2

    D'accord, donc on les aligne.

  31. Intervenant 1

    Voilà. Si notre alphabet c'est juste A B C, on peut très bien construire le mot B B C

  32. Intervenant 2

    A. Ou alors le mot A A A.

  33. Intervenant 1

    Même si c'est imprononçable.

  34. Intervenant 2

    Ou A, C, B, C, peu importe. Qu'ils soient absents d'un dictionnaire classique, on s'en moque.

  35. Intervenant 1

    Ouais.

  36. Intervenant 2

    Mathématiquement, ce sont des mots valides puisqu'ils sont formés avec les bonnes lettres, c'est tout.

  37. Intervenant 1

    Donc, la brique, c'est la lettre. La petite tour que je construis en empilant genre 5 ou 10 briques, ça c'est mon mot.

  38. Intervenant 2

    C'est ça.

  39. Intervenant 1

    Mais alors, le langage lui-même, comment on le définit par rapport à tout ça ? Parce qu'on a les briques, on a les tours, mais le langage c'est quoi ?

  40. Intervenant 2

    Eh bien le langage, qu'on note souvent avec un L majuscule d'ailleurs, c'est un ensemble de mots. Des mots qui sont construits sur un alphabet donné et surtout qui respectent une règle précise.

  41. Intervenant 1

    Une règle, ok.

  42. Intervenant 2

    En gros, c'est la collection complète de toutes les tours de briques que vous acceptez de valider.

  43. Intervenant 1

    D'accord, donc il y a un filtre.

  44. Intervenant 2

    Voilà. Et il y a une subtilité mathématique majeure ici, c'est qu'on a dit que l'alphabet est fini.

  45. Intervenant 1

    Ouais.

  46. Intervenant 2

    On a dit que chaque mot a une longueur finie.

  47. Intervenant 1

    Oui, on s'arrête de construire la tour à un moment.

  48. Intervenant 2

    Exactement. Mais le langage, lui, la collection de ces mots, il peut très bien être un ensemble infini.

  49. Intervenant 1

    Attendez, infini. Mais comment c'est possible d'avoir un truc infini si on part d'un nombre fini de briques ?

  50. Intervenant 2

    Prenons un exemple simple.

  51. Intervenant 1

    Je veux bien.

  52. Intervenant 2

    Si on prend le dictionnal français, bon, c'est un langage fini.

  53. Intervenant 1

    Ouais, il y a, je sais pas, cent mille mots, mais c'est fini.

  54. Intervenant 2

    Voilà, il y a un nombre défini de mots acceptés à un instant T. Pareil pour, je sais pas, les commandes de base d'un logiciel.

  55. Intervenant 1

    Ok.

  56. Intervenant 2

    Mais si on bascule sur une règle plus abstraite, prenons un alphabet composé uniquement des lettres A et B. Juste deux lettres.

  57. Intervenant 1

    Ok, A et B.

  58. Intervenant 2

    Imaginons que notre règle de langage soit, disons, l'ensemble de tous les mots qui contiennent un nombre impair de la lettre A. Un nombre impair de A, ok. Ce langage, il va inclure le mot A, puisqu'il y en a un seul. Logique, c'est impair. Il va inclure le mot AAA. Oui, il y en a trois.

La suite de la transcription est réservée aux abonnés.

S’abonner

À écouter ensuite

Des épisodes qui partagent une playlist, une figure ou un domaine avec celui-ci.