×
1 Choisissez les certificats EITC/EITCA
2 Apprendre et passer des examens en ligne
3 Faites certifier vos compétences informatiques

Confirmez vos aptitudes et compétences informatiques dans le cadre de la certification informatique européenne de n'importe où dans le monde, entièrement en ligne.

Académie EITCA

Norme d'attestation des compétences numériques par l'Institut européen de certification informatique visant à soutenir le développement de la société numérique

CONNECTEZ-VOUS À VOTRE COMPTE

CRÉER UN COMPTE MOT DE PASSE OUBLIE?

MOT DE PASSE OUBLIE?

AAH, ATTENDRE, je me souviens maintenant!

CRÉER UN COMPTE

VOUS AVEZ DÉJÀ UN COMPTE?
ACADÉMIE EUROPÉENNE DE CERTIFICATION DES TECHNOLOGIES DE L'INFORMATION - ATTESTER VOS COMPÉTENCES NUMÉRIQUES
  • S'inscrire
  • CONNEXION
  • INFO

Académie EITCA

Académie EITCA

Institut Européen de Certification des Technologies de l'Information - EITCI ASBL

Fournisseur de certification

Institut EITCI ASBL

Bruxelles, Union européenne

Cadre de référence de la certification européenne des technologies de l'information (EITC) en faveur du professionnalisme informatique et de la société numérique

  • CERTIFICATS
    • ACADÉMIES EITCA
      • CATALOGUE DES ACADÉMIES EITCA<
      • GRAPHIQUES INFORMATIQUES EITCA/CG
      • EITCA/IS SÉCURITÉ DE L'INFORMATION
      • INFORMATIONS COMMERCIALES EITCA/BI
      • COMPÉTENCES CLÉS EITCA/KC
      • EITCA/EG E-GOUVERNEMENT
      • DÉVELOPPEMENT WEB EITCA/WD
      • INTELLIGENCE ARTIFICIELLE EITCA/AI
    • CERTIFICATS EITC
      • CATALOGUE DES CERTIFICATS EITC<
      • CERTIFICATS GRAPHIQUES INFORMATIQUES
      • CERTIFICATS DE CONCEPTION WEB
      • CERTIFICATS DE CONCEPTION 3D
      • CERTIFICATS OFFICE IT
      • CERTIFICAT BITCOIN BLOCKCHAIN
      • CERTIFICAT WORDPRESS
      • CERTIFICAT DE PLATEFORME CLOUDNOUVEAU
    • CERTIFICATS EITC
      • CERTIFICATS INTERNET
      • CERTIFICATS DE CRYPTOGRAPHIE
      • CERTIFICATS D'INFORMATION COMMERCIALE
      • CERTIFICATS TELEWORK
      • CERTIFICATS DE PROGRAMMATION
      • CERTIFICAT DE PORTRAIT NUMÉRIQUE
      • CERTIFICATS DE DÉVELOPPEMENT WEB
      • CERTIFICATS D'APPRENTISSAGE PROFONDNOUVEAU
    • CERTIFICATS POUR
      • ADMINISTRATION PUBLIQUE DE L'UE
      • ENSEIGNANTS ET ÉDUCATEURS
      • PROFESSIONNELS DE LA SÉCURITÉ INFORMATIQUE
      • DESIGNERS GRAPHIQUES ET ARTISTES
      • HOMMES D'AFFAIRES ET GESTIONNAIRES
      • DÉVELOPPEURS BLOCKCHAIN
      • DÉVELOPPEURS WEB
      • EXPERTS CLOUD AINOUVEAU
  • BANNIERE
  • SUBVENTION
  • COMMENT CA MARCHE
  •   IT ID
  • A PROPOS
  • CONTACT
  • MA COMMANDE
    Votre commande actuelle est vide.
EITCIINSTITUTE
CERTIFIED

Fondamentaux de la théorie de la complexité informatique EITC/IS/CCTF

by Académie EITCA / Lundi, 03 mai 2021 / Publié dans

Statut actuel

Pas inscrit
Inscrivez-vous à ce programme pour y accéder

par personne

€110.00

Commencer

S'inscrire à cette certification

EITC/IS/CCTF Computational Complexity Theory Fundamentals est le programme européen de certification informatique sur les aspects théoriques des fondements de l'informatique qui sont également à la base de la cryptographie à clé publique asymétrique classique largement utilisée sur Internet.

Le programme d'études des fondamentaux de la théorie de la complexité computationnelle EITC/IS/CCTF couvre les connaissances théoriques sur les fondements de l'informatique et les modèles informatiques sur des concepts de base tels que les machines à états finis déterministes et non déterministes, les langages réguliers, les grammaires et la théorie des langages sans contexte, la théorie des automates, les machines de Turing, la décidabilité des problèmes, la récursivité, la logique et la complexité de l'algorithmique pour les applications de sécurité fondamentales dans la structure suivante, englobant des supports d'auto-apprentissage complets et structurés du programme de certification EITCI soutenus par un contenu didactique vidéo en libre accès référencé comme base de préparation à l'obtention de cette certification EITC en réussissant un examen correspondant.

La complexité de calcul d'un algorithme est la quantité de ressources nécessaires à son fonctionnement. Les ressources de temps et de mémoire font l'objet d'une attention particulière. La complexité d'un problème est définie comme la complexité des meilleurs algorithmes pour le résoudre. L'analyse des algorithmes est l'étude de la complexité des algorithmes explicitement donnés, tandis que la théorie de la complexité computationnelle est l'étude de la complexité des solutions de problèmes avec les meilleurs algorithmes connus. Les deux domaines sont étroitement liés car la complexité d'un algorithme est toujours une contrainte supérieure à la complexité du problème qu'il résout. De plus, il est fréquemment nécessaire de comparer la complexité d'un certain algorithme à la complexité du problème à résoudre tout en construisant des algorithmes efficaces. Dans la plupart des cas, la seule information disponible concernant la difficulté d'un problème est qu'elle est inférieure à la complexité des techniques connues les plus efficaces. En conséquence, il y a beaucoup de chevauchements entre l'analyse d'algorithmes et la théorie de la complexité.

La théorie de la complexité joue un rôle important non seulement dans les fondements des modèles informatiques comme base de l'informatique, mais aussi dans les fondements de la cryptographie asymétrique classique (dite cryptographie à clé publique) qui est largement diffusée dans les réseaux modernes, en particulier sur Internet. Le chiffrement à clé publique est basé sur la difficulté de calcul de certains problèmes mathématiques asymétriques comme par exemple la factorisation de grands nombres en ses facteurs premiers (cette opération est un problème difficile dans la classification de la théorie de la complexité, car il n'existe pas d'algorithmes classiques efficaces connus pour résoudre avec des ressources mises à l'échelle de manière polynomiale plutôt qu'exponentielle avec l'augmentation de la taille d'entrée du problème, ce qui contraste avec une opération inverse très simple consistant à multiplier par des facteurs premiers connus pour donner le grand nombre d'origine). En utilisant cette asymétrie dans une architecture de cryptographie à clé publique (en définissant une relation asymétrique de calcul entre la clé publique, qui peut être facilement calculée à partir d'une clé privée, alors que la clé privée ne peut pas être facilement calculée à partir d'une clé publique, on peut publiquement annoncer la clé publique et permettre aux autres côtés de la communication de l'utiliser pour le chiffrement asymétrique des données, qui ne peuvent ensuite être déchiffrées qu'avec la clé privée couplée, non disponible informatiquement pour les tiers, ce qui sécurise la communication).

La théorie de la complexité computationnelle a été développée principalement sur les réalisations des pionniers de l'informatique et de l'algorithmique, tels qu'Alan Turing, dont le travail a été essentiel pour briser le chiffre Enigma de l'Allemagne nazie, qui a joué un rôle important dans la victoire des alliés pendant la Seconde Guerre mondiale. La cryptanalyse visant à concevoir et à automatiser les processus informatiques d'analyse des données (principalement des communications cryptées) afin de découvrir les informations cachées a été utilisée pour violer les systèmes cryptographiques et accéder au contenu des communications cryptées, généralement d'importance militaire stratégique. C'est aussi la cryptanalyse qui a catalysé le développement des premiers ordinateurs modernes (qui étaient initialement appliqués à un objectif stratégique de décryptage). Le British Colossus (considéré comme le premier ordinateur électronique et programme moderne) a été précédé par la "bombe" polonaise, un dispositif de calcul électronique conçu par Marian Rejewski pour aider à briser les chiffrements Enigma, et remis à la Grande-Bretagne par les services de renseignement polonais avec la machine de cryptage allemande Enigma capturée, après l'invasion de la Pologne par l'Allemagne en 1939. Sur la base de cet appareil, Alan Turing a développé son homologue plus avancé pour réussir à briser la communication cryptée allemande, qui a ensuite été développée en ordinateurs modernes.

Étant donné que la quantité de ressources nécessaires pour exécuter un algorithme varie avec la taille de l'entrée, la complexité est généralement exprimée sous la forme d'une fonction f(n), où n est la taille de l'entrée et f(n) est soit la complexité la plus défavorable ( la quantité maximale de ressources requises sur toutes les entrées de taille n) ou la complexité moyenne des cas (la moyenne de la quantité de ressources sur toutes les entrées de taille n). Le nombre d'opérations élémentaires requises sur une entrée de taille n est communément appelé complexité temporelle, où les opérations élémentaires sont censées prendre un temps constant sur un ordinateur particulier et ne changent que d'un facteur constant lorsqu'elles sont exécutées sur une machine différente. La quantité de mémoire requise par un algorithme sur une entrée de taille n est appelée complexité spatiale.

Le temps est la ressource la plus souvent considérée. Lorsque le terme « complexité » est utilisé sans qualificatif, il fait généralement référence à la complexité du temps.

Les unités de temps traditionnelles (secondes, minutes, etc.) ne sont pas employées dans la théorie de la complexité car elles dépendent trop de l'ordinateur choisi et de l'avancement de la technologie. Par exemple, un ordinateur d'aujourd'hui peut exécuter un algorithme beaucoup plus rapidement qu'un ordinateur des années 1960, mais cela est dû aux percées technologiques du matériel informatique plutôt qu'à une qualité inhérente de l'algorithme. L'objectif de la théorie de la complexité est de quantifier les besoins en temps inhérents aux algorithmes, ou les limitations de temps fondamentales qu'un algorithme imposerait à n'importe quel ordinateur. Ceci est accompli en comptant le nombre d'opérations de base effectuées pendant le calcul. Ces procédures sont communément appelées étapes parce qu'elles sont considérées comme prenant un temps constant sur une machine particulière (c'est-à-dire qu'elles ne sont pas affectées par la quantité d'entrée).

Une autre ressource importante est la quantité de mémoire informatique requise pour exécuter les algorithmes.

Une autre ressource souvent utilisée est la quantité d'opérations arithmétiques. Dans ce scénario, le terme «complexité arithmétique» est utilisé. La complexité temporelle est généralement le produit de la complexité arithmétique par un facteur constant si une contrainte supérieure sur la taille de la représentation binaire des nombres qui surviennent lors d'un calcul est connue.

La taille des nombres entiers utilisés lors d'un calcul n'est pas contrainte pour de nombreuses méthodes, et il est irréaliste de supposer que les opérations arithmétiques nécessitent un temps fixe. Par conséquent, la complexité temporelle, également appelée complexité binaire, peut être nettement supérieure à la complexité arithmétique. La difficulté arithmétique de calculer le déterminant d'une matrice de nn entiers, par exemple, est O(n^3) pour les techniques standards (élimination gaussienne). Étant donné que la taille des coefficients peut augmenter de manière exponentielle pendant le calcul, la complexité en bits des mêmes méthodes est exponentielle en n. Si ces techniques sont utilisées en conjonction avec l'arithmétique multi-modulaire, la complexité des bits peut être réduite à O(n^4).

La complexité binaire, en termes formels, fait référence au nombre d'opérations sur les bits nécessaires pour exécuter un algorithme. Il équivaut à la complexité temporelle à un facteur constant près dans la plupart des paradigmes de calcul. Le nombre d'opérations sur les mots machine requis par les ordinateurs est proportionnel à la complexité des bits. Pour des modèles de calcul réalistes, la complexité temporelle et la complexité binaire sont donc identiques.

La ressource qui est souvent considérée dans le tri et la recherche est le nombre de comparaisons d'entrées. Si les données sont bien organisées, c'est un bon indicateur de la complexité temporelle.

Sur toutes les entrées potentielles, compter le nombre de pas dans un algorithme est impossible. Étant donné que la complexité d'une entrée augmente avec sa taille, elle est généralement représentée en fonction de la taille de l'entrée n (en bits), et donc la complexité est une fonction de n. Pour les entrées de même taille, cependant, la complexité d'un algorithme peut varier considérablement. En conséquence, une variété de fonctions de complexité sont couramment utilisées.

La complexité dans le pire des cas est la somme de toute la complexité pour toutes les entrées de taille n, tandis que la complexité moyenne est la somme de toute la complexité pour toutes les entrées de taille n (cela a du sens, car le nombre d'entrées possibles d'une taille donnée est fini). Lorsque le terme "complexité" est utilisé sans être davantage défini, la complexité temporelle la plus défavorable est prise en compte.

La complexité dans le pire des cas et dans le cas moyen est notoirement difficile à calculer correctement. De plus, ces valeurs exactes ont peu d’application pratique car tout changement de paradigme de machine ou de calcul ferait légèrement varier la complexité. De plus, l’utilisation des ressources n’est pas importante pour les petites valeurs de n, donc la facilité de mise en œuvre est souvent plus attrayante qu’une faible complexité pour les petits n.

Pour ces raisons, la plus grande attention est accordée au comportement de la complexité pour n élevé, c'est-à-dire à son comportement asymptotique lorsque n tend vers l'infini. Par conséquent, la grande notation O est couramment utilisée pour indiquer la complexité.

Modèles informatiques

Le choix d'un modèle de calcul, qui consiste à préciser les opérations essentielles qui sont effectuées dans une unité de temps, est important pour déterminer la complexité. On parle parfois de machine de Turing multibande lorsque le paradigme de calcul n'est pas spécifiquement décrit.

Un modèle de calcul déterministe est un modèle dans lequel les états ultérieurs de la machine et les opérations à effectuer sont entièrement définis par l'état précédent. Les fonctions récursives, le calcul lambda et les machines de Turing ont été les premiers modèles déterministes. Les machines à accès aléatoire (également appelées machines RAM) sont un paradigme populaire pour simuler des ordinateurs du monde réel.

Lorsque le modèle de calcul n'est pas défini, une machine de Turing multibande est généralement supposée. Sur les machines de Turing multibandes, la complexité temporelle est la même que sur les machines RAM pour la plupart des algorithmes, bien qu'une attention considérable à la manière dont les données sont stockées en mémoire puisse être nécessaire pour atteindre cette équivalence.

Divers choix peuvent être faits à certaines étapes du calcul dans un modèle de calcul non déterministe, comme les machines de Turing non déterministes. Dans la théorie de la complexité, toutes les options réalisables sont considérées en même temps, et la complexité temporelle non déterministe est la quantité de temps nécessaire lorsque les meilleurs choix sont toujours faits. En d'autres termes, le calcul est effectué simultanément sur autant de processeurs (identiques) que nécessaire, et le temps de calcul non déterministe est le temps mis par le premier processeur pour terminer le calcul. Ce parallélisme peut être utilisé en informatique quantique en utilisant des états intriqués superposés lors de l'exécution d'algorithmes quantiques spécialisés, tels que la factorisation de Shor d'entiers minuscules par exemple.

Même si un tel modèle de calcul n'est pas actuellement praticable, il a une signification théorique, en particulier par rapport au problème P = NP, qui demande si les classes de complexité produites en utilisant le « temps polynomial » et le « temps polynomial non déterministe » comme plus petite valeur supérieure les bornes sont les mêmes. Sur un ordinateur déterministe, la simulation d'un algorithme NP nécessite un "temps exponentiel". Si une tâche peut être résolue en temps polynomial sur un système non déterministe, elle appartient à la classe de difficulté NP. Si un problème est dans NP et n'est pas plus facile que n'importe quel autre problème NP, on dit qu'il est NP-complet. Le problème du sac à dos, le problème du voyageur de commerce et le problème de satisfiabilité booléenne sont tous des problèmes combinatoires NP-complets. L'algorithme le plus connu a une complexité exponentielle pour tous ces problèmes. Si l'un de ces problèmes pouvait être résolu en temps polynomial sur une machine déterministe, alors tous les problèmes NP pourraient également être résolus en temps polynomial, et P = NP serait établi. À partir de 2017, il est largement admis que P NP , ce qui implique que les pires situations de problèmes NP sont fondamentalement difficiles à résoudre, c'est-à-dire qu'elles prennent beaucoup plus de temps que n'importe quelle période possible (décennies) étant donné des longueurs d'entrée intéressantes.

Calcul parallèle et distribué

L'informatique parallèle et distribuée consiste à répartir le traitement sur plusieurs processeurs qui fonctionnent tous en même temps. La distinction fondamentale entre les différents modèles est la méthode d'envoi des données entre les processeurs. La transmission de données entre processeurs est généralement très rapide dans le calcul parallèle, tandis que le transfert de données entre processeurs dans le calcul distribué se fait sur un réseau et est donc beaucoup plus lent.

Un calcul sur N processeurs prend au moins le quotient par N du temps qu'il prend sur un seul processeur. En réalité, étant donné que certaines sous-tâches ne peuvent pas être parallélisées et que certains processeurs peuvent avoir besoin d'attendre un résultat d'un autre processeur, cette borne théoriquement idéale ne sera jamais atteinte.

Le problème clé de la complexité est donc de développer des algorithmes pour que le produit du temps de calcul par le nombre de processeurs soit le plus proche possible du temps nécessaire pour effectuer le même calcul sur un seul processeur.

Calcul quantique

Un ordinateur quantique est un ordinateur doté d'un modèle de calcul basé sur la mécanique quantique. La thèse de Church-Turing est vraie pour les ordinateurs quantiques, ce qui implique que tout problème qu'un ordinateur quantique peut résoudre peut également être résolu par une machine de Turing. Cependant, certaines tâches pourraient théoriquement être résolues en utilisant un ordinateur quantique plutôt qu'un ordinateur classique avec une complexité temporelle nettement inférieure. Pour l'instant, c'est strictement théorique, car personne ne sait comment développer un ordinateur quantique pratique.

La théorie de la complexité quantique a été créée pour étudier les différents types de problèmes pouvant être résolus par les ordinateurs quantiques. Il est utilisé dans la cryptographie post-quantique, qui est le processus de création de protocoles cryptographiques résistants aux attaques des ordinateurs quantiques.

Complexité du problème (bornes inférieures)

L'infimum des complexités des algorithmes qui peuvent résoudre le problème, y compris les techniques non découvertes, est la complexité du problème. En conséquence, la complexité d'un problème est égale à la complexité de tout algorithme qui le résout.

En conséquence, toute complexité donnée en notation grand O représente une complexité à la fois de l'algorithme et du problème qui l'accompagne.

D'un autre côté, il est souvent difficile d'obtenir des bornes inférieures non triviales sur la complexité d'un problème, et il existe peu de stratégies pour y parvenir.

Afin de résoudre la plupart des problèmes, toutes les données d'entrée doivent être lues, ce qui prend un temps proportionnel à l'ampleur des données. En conséquence, de tels problèmes ont au moins une complexité linéaire, ou, en notation big oméga, une complexité de Ω(n).

Certains problèmes, tels que ceux du calcul formel et de la géométrie algébrique computationnelle, ont de très grandes solutions. Étant donné que la sortie doit être écrite, la complexité est limitée par la taille maximale de la sortie.

Le nombre de comparaisons requises pour un algorithme de tri a une borne inférieure non linéaire de Ω(nlogn). Par conséquent, les meilleurs algorithmes de tri sont les plus efficaces puisque leur complexité est O(nlogn). Le fait qu'il y ait n! façons d'organiser n choses conduit à cette borne inférieure. Parce que chaque comparaison divise cette collection de n ! ordres en deux morceaux, le nombre de N comparaisons nécessaires pour distinguer tous les ordres doit être 2N > n!, impliquant O(nlogn) par la formule de Stirling.

Réduire un problème à un autre problème est une stratégie courante pour obtenir des contraintes de complexité réduites.

Développement d'algorithmes

L'évaluation de la complexité d'un algorithme est un élément important du processus de conception car elle fournit des informations utiles sur les performances qui peuvent être attendues.

C'est un malentendu fréquent que, du fait de la loi de Moore, qui prédit la croissance exponentielle de la puissance informatique moderne, l'évaluation de la complexité des algorithmes deviendra moins pertinente. Ceci est incorrect car la puissance accrue permet le traitement de quantités massives de données (big data). Par exemple, tout algorithme devrait bien fonctionner en moins d'une seconde lors du tri alphabétique d'une liste de quelques centaines d'entrées, comme la bibliographie d'un livre. D'autre part, pour un million d'entrées (par exemple, les numéros de téléphone d'une grande ville), les algorithmes de base qui nécessitent des comparaisons O(n2) devraient effectuer un trillion de comparaisons, ce qui prendrait trois heures à une vitesse de 10 millions de comparaisons par seconde. Le tri rapide et le tri par fusion, en revanche, ne nécessitent que des comparaisons nlogn (comme complexité moyenne pour le premier, comme complexité dans le pire des cas pour le second). Cela produit environ 30,000,000 1,000,000 3 comparaisons pour n = 10 XNUMX XNUMX, ce qui ne prendrait que XNUMX secondes à XNUMX millions de comparaisons par seconde.

Par conséquent, l'évaluation de la complexité peut permettre l'élimination de nombreux algorithmes inefficaces avant la mise en œuvre. Cela peut également être utilisé pour affiner des algorithmes complexes sans avoir à tester toutes les variantes possibles. L'étude de la complexité permet de focaliser l'effort pour augmenter l'efficacité d'une implémentation en déterminant les étapes les plus coûteuses d'un algorithme complexe.

Pour vous familiariser en détail avec le programme de certification, vous pouvez développer et analyser le tableau ci-dessous.

Le programme de certification EITC/IS/CCTF Computational Complexity Theory Fundamentals fait référence à des supports didactiques en libre accès sous forme de vidéo. Le processus d'apprentissage est divisé en une structure étape par étape (programmes -> leçons -> sujets) couvrant les parties pertinentes du programme. Les participants peuvent accéder aux réponses et poser des questions plus pertinentes dans la section Questions et réponses de l'interface d'apprentissage en ligne sous le sujet du programme EITC actuellement en cours. Des conseils directs et illimités avec des experts du domaine sont également accessibles via le système de messagerie en ligne intégré à la plateforme, ainsi que via le formulaire de contact.
Pour plus de détails sur la procédure de certification, consultez Fonctionnement.

Matériel de lecture de soutien au programme primaire

S. Arora, B. Barak, Complexité computationnelle : une approche moderne
https://theory.cs.princeton.edu/complexity/book.pdf

Matériel de lecture de soutien au programme secondaire

O. Goldreich, Introduction à la théorie de la complexité :
https://www.wisdom.weizmann.ac.il/~oded/cc99.html

Matériel de lecture de soutien au programme d'études sur les mathématiques discrètes

J. Aspnes, Notes sur les mathématiques discrètes :
https://www.cs.yale.edu/homes/aspnes/classes/202/notes.pdf

Matériel de lecture de soutien sur la théorie des graphes

R. Diestel, Théorie des graphes :
https://diestel-graph-theory.com/

Téléchargez le matériel préparatoire complet d'auto-apprentissage hors ligne pour le programme EITC/IS/CCTF Computational Complexity Theory Fundamentals dans un fichier PDF.

PDF Icon Documents préparatoires EITC/IS/CCTF – version standard

PDF Icon Documents préparatoires EITC/IS/CCTF – version étendue avec questions de révision

Curriculum du programme de certification

Introduction 1 Sujet
Vous n'avez actuellement pas accès à ce contenu
Cliquez sur le bouton ci-dessous pour tenter les QCM.
0% Terminé Étapes 0/1
Introduction théorique
Machines à états finis Sujets 6
Vous n'avez actuellement pas accès à ce contenu
Cliquez sur le bouton ci-dessous pour tenter les QCM.
0% Terminé Étapes 0/6
Introduction aux machines à états finis
Exemples de machines à états finis
Opérations sur les langues régulières
Introduction aux machines à états finis non déterministes
Définition formelle des machines à états finis non déterministes
Équivalence des FSM déterministes et non déterministes
Langues régulières Sujets 5
Vous n'avez actuellement pas accès à ce contenu
Cliquez sur le bouton ci-dessous pour tenter les QCM.
0% Terminé Étapes 0/5
Clôture des opérations régulières
Expressions régulières
Équivalence des expressions régulières et des langues régulières
Lemme de pompage pour les langues régulières
Résumé des langues régulières
Grammaires et langages sans contexte Sujets 4
Vous n'avez actuellement pas accès à ce contenu
Cliquez sur le bouton ci-dessous pour tenter les QCM.
0% Terminé Étapes 0/4
Introduction aux grammaires et langages sans contexte
Exemples de grammaires sans contexte
Types de langues sans contexte
Faits sur les langues sans contexte
Langages sensibles au contexte Sujets 3
Vous n'avez actuellement pas accès à ce contenu
Cliquez sur le bouton ci-dessous pour tenter les QCM.
0% Terminé Étapes 0/3
Forme normale de Chomsky
Hiérarchie de Chomsky et langages sensibles au contexte
Le lemme du pompage pour les LFC
Automates déroulants Sujets 3
Vous n'avez actuellement pas accès à ce contenu
Cliquez sur le bouton ci-dessous pour tenter les QCM.
0% Terminé Étapes 0/3
PDA: automates déroulants
Équivalence des CFG et PDA
Conclusions de l'équivalence des CFG et PDA
Machines de turing Sujets 9
Vous n'avez actuellement pas accès à ce contenu
Cliquez sur le bouton ci-dessous pour tenter les QCM.
0% Terminé Étapes 0/9
Introduction aux machines de Turing
Exemples de machines de Turing
Définition des MT et des classes de langues associées
La thèse de Church-Turing
Techniques de programmation de la machine de Turing
Machines de rubanage multi-bandes
Non-déterminisme dans les machines de Turing
Les machines de Turing comme solutionneur de problèmes
Les recenseurs
Décidabilité Sujets 17
Vous n'avez actuellement pas accès à ce contenu
Cliquez sur le bouton ci-dessous pour tenter les QCM.
0% Terminé Étapes 0/17
Décidabilité et problèmes décidables
Des problèmes plus résolus pour les DFA
Problèmes concernant les langages sans contexte
Machine de turing universelle
Infinity - dénombrable et indénombrable
Langues qui ne sont pas reconnaissables par Turing
Indécidabilité du problème de l'arrêt
Langue qui n'est pas reconnaissable à Turing
Réductibilité - une technique pour prouver l'indécidabilité
Halting Problem - une preuve par réduction
Une MT accepte-t-elle n'importe quelle chaîne ?
Fonctions calculables
Équivalence des machines de Turing
Réduire une langue à une autre
Le problème de la poste
Indécidabilité du PCP
Automates linéaires liés
Récursivité Sujets 5
Vous n'avez actuellement pas accès à ce contenu
Cliquez sur le bouton ci-dessous pour tenter les QCM.
0% Terminé Étapes 0/5
Programme qui s'imprime
Machine de Turing qui écrit une description d'elle-même
Théorème de récursivité
Résultats du théorème de récursivité
Le théorème du point fixe
Logique Sujets 4
Vous n'avez actuellement pas accès à ce contenu
Cliquez sur le bouton ci-dessous pour tenter les QCM.
0% Terminé Étapes 0/4
Logique de prédicat du premier ordre - vue d'ensemble
Vérité, signification et preuve
Des déclarations vraies et des déclarations prouvables
Théorème d'incomplétude de Godel
Complexité Sujets 8
Vous n'avez actuellement pas accès à ce contenu
Cliquez sur le bouton ci-dessous pour tenter les QCM.
0% Terminé Étapes 0/8
Complexité temporelle et notation big-O
Calculer le runtime d'un algorithme
Complexité temporelle avec différents modèles de calcul
Classes de complexité temporelle P et NP
Définition de NP et vérifiabilité polynomiale
NP-complétude
Preuve que SAT est NP complet
Classes de complexité spatiale
Fondamentaux de la théorie de la complexité informatique EITC/IS/CCTF
Vous n'avez actuellement pas accès à ce contenu
Accueil » Mon compte

Centre de certification

Accueil du programme
Introduction
Introduction théorique
Machines à états finis
Introduction aux machines à états finis
Exemples de machines à états finis
Opérations sur les langues régulières
Introduction aux machines à états finis non déterministes
Définition formelle des machines à états finis non déterministes
Équivalence des FSM déterministes et non déterministes
Langues régulières
Clôture des opérations régulières
Expressions régulières
Équivalence des expressions régulières et des langues régulières
Lemme de pompage pour les langues régulières
Résumé des langues régulières
Grammaires et langages sans contexte
Introduction aux grammaires et langages sans contexte
Exemples de grammaires sans contexte
Types de langues sans contexte
Faits sur les langues sans contexte
Langages sensibles au contexte
Forme normale de Chomsky
Hiérarchie de Chomsky et langages sensibles au contexte
Le lemme du pompage pour les LFC
Automates déroulants
PDA: automates déroulants
Équivalence des CFG et PDA
Conclusions de l'équivalence des CFG et PDA
Machines de turing
Introduction aux machines de Turing
Exemples de machines de Turing
Définition des MT et des classes de langues associées
La thèse de Church-Turing
Techniques de programmation de la machine de Turing
Machines de rubanage multi-bandes
Non-déterminisme dans les machines de Turing
Les machines de Turing comme solutionneur de problèmes
Les recenseurs
Décidabilité
Décidabilité et problèmes décidables
Des problèmes plus résolus pour les DFA
Problèmes concernant les langages sans contexte
Machine de turing universelle
Infinity - dénombrable et indénombrable
Langues qui ne sont pas reconnaissables par Turing
Indécidabilité du problème de l'arrêt
Langue qui n'est pas reconnaissable à Turing
Réductibilité - une technique pour prouver l'indécidabilité
Halting Problem - une preuve par réduction
Une MT accepte-t-elle n'importe quelle chaîne ?
Fonctions calculables
Équivalence des machines de Turing
Réduire une langue à une autre
Le problème de la poste
Indécidabilité du PCP
Automates linéaires liés
Récursivité
Programme qui s'imprime
Machine de Turing qui écrit une description d'elle-même
Théorème de récursivité
Résultats du théorème de récursivité
Le théorème du point fixe
Logique
Logique de prédicat du premier ordre - vue d'ensemble
Vérité, signification et preuve
Des déclarations vraies et des déclarations prouvables
Théorème d'incomplétude de Godel
Complexité
Complexité temporelle et notation big-O
Calculer le runtime d'un algorithme
Complexité temporelle avec différents modèles de calcul
Classes de complexité temporelle P et NP
Définition de NP et vérifiabilité polynomiale
NP-complétude
Preuve que SAT est NP complet
Classes de complexité spatiale
Fondamentaux de la théorie de la complexité informatique EITC/IS/CCTF

MENU UTILISATEUR

  • Mon compte

CATÉGORIE DE CERTIFICAT

  • Certification EITC (105)
  • Certification EITCA (9)

Que recherchez-vous?

  • Introduction
  • Comment cela fonctionne?
  • Académies EITCA
  • Subvention EITCI DSJC
  • Catalogue EITC complet
  • Votre commande
  • En vedette
  •   IT ID
  • Avis EITCA (Publ. moyenne)
  • À propos
  • Contact

EITCA Academy fait partie du cadre européen de certification informatique

Le cadre européen de certification informatique a été établi en 2008 en tant que norme européenne et indépendante des fournisseurs de certification en ligne largement accessible des compétences et compétences numériques dans de nombreux domaines de spécialisations numériques professionnelles. Le cadre EITC est régi par le Institut européen de certification informatique (EITCI), une autorité de certification à but non lucratif qui soutient la croissance de la société de l'information et comble le déficit de compétences numériques dans l'UE.
Eligibilité à l'EITCA Academy 90% Soutien à la subvention EITCI DSJC
90 % des frais de l'Académie EITCA sont subventionnés lors de l'inscription.

    Secrétariat de l'Académie EITCA

    Institut Européen de Certification Informatique ASBL
    Bruxelles, Belgique, Union européenne

    Opérateur du cadre de certification EITC/EITCA
    Norme européenne de certification informatique régissant
    Accéder formulaire de contact ou appelez le +32 25887351

    Suivez EITCI sur X
    Visitez l'Académie EITCA sur Facebook
    S'engager avec EITCA Academy sur LinkedIn
    Découvrez les vidéos EITCI et EITCA sur YouTube

    Financé par l'Union européenne

    Financé par le Fonds européen de développement régional (FEDER) et la Fonds social européen (FSE) dans une série de projets depuis 2007, actuellement régis par le Institut européen de certification informatique (EITCI) depuis 2008

    Politique de sécurité des informations | Politique DSRRM et RGPD | Politique de protection des données | Registre des activités de traitement | Politique HSE | Politique anti-corruption | Politique d'esclavage moderne

    Traduire automatiquement dans votre langue

    Terms and Conditions | Politique de confidentialité
    Académie EITCA
    • Académie EITCA sur les réseaux sociaux
    Académie EITCA


    © 2008-2026  Institut européen de certification informatique
    Bruxelles, Belgique, Union européenne

    TOP
    DISCUTER AVEC LE SUPPORT
    Avez-vous des questions?
    Nous vous répondrons ici et par courriel. Votre conversation est suivie grâce à un jeton d'assistance.