En mathématiques, en logique et en informatique, un langage récursif est un type de langage formel qui est aussi appelé récursif, décidable, ou Turing-decidable.
Il y a plusieurs définitions équivalentes de langage récursif. On peut définir cette notion directement, comme une généralisation de celle d'ensemble récursif (des sous-ensembles d'entiers ou de uples d'entiers), ou passer par des codages dans les entiers, en utilisant la théorie de la calculabilité.
Pour une définition directe on peut employer des machines de Turing qui utilisent l'alphabet du langage. Un langage récursif est alors un langage formel reconnu par une machine de Turing : la machine s'arrête toujours, elle accepte une entrée si et seulement si celle-ci est un mot du langage.
De façon équivalente, un langage est récursif si et seulement si lui et son complémentaire (dans l'ensemble de tous les mots sur l'alphabet du langage) sont récursivement énumérables. Les langages récursivement énumérables sont les langages engendrés par les grammaires générales.
Tous les langages récursifs sont aussi récursivement énumérables, mais la réciproque est fausse. Les autres langages de la hiérarchie de Chomsky, comme les langages réguliers sont récursifs.
Pour des raisons intrinsèque à la notion de calculabilité (liées à l'indécidabilité du problème de l'arrêt), on ne peut donner de forme générale « simple » (récursive) des grammaires qui engendrent tous les langages récursifs et seulement ceux-ci. La classe des langages récursifs n'apparait donc pas en tant que telle dans la hiérarchie de Chomsky.
La classe des langages récursifs est close pour un certain nombre d'opérations qui sont détaillées ensuite. On montre que si L et P sont deux langages récursifs, alors les langages suivants sont aussi récursifs :
La fermeture de Kleene L* de L
La concaténation L . P de L et P (le langages des mots obtenus par concaténation d'un mot de L et d'un mot de P)
Les opérations ensemblistes booléennes
L'union L∪P
L'intersection L∩P
Le complémentaire Lc
et donc toutes les opérations booléennes.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Discrete mathematics is a discipline with applications to almost all areas of study. It provides a set of indispensable tools to computer science in particular. This course reviews (familiar) topics a
This course provides an overview of the theory of asset pricing and portfolio choice theory following historical developments in the field and putting
emphasis on theoretical models that help our unde
En informatique théorique, et en particulier en théorie des langages formels, le terme famille abstraite de langages réfère à une notion qui généralise des caractéristiques communes aux langage rationnels, aux langages algébriques, aux langages récursivement énumérables et à de nombreuses autres familles de langages formels. Un langage formel est un ensemble de mots sur un alphabet fini , c'est-à-dire une partie du monoïde libre , où * dénote l'étoile de Kleene.
Computability is the ability to solve a problem in an effective manner. It is a key topic of the field of computability theory within mathematical logic and the theory of computation within computer science. The computability of a problem is closely linked to the existence of an algorithm to solve the problem. The most widely studied models of computability are the Turing-computable and μ-recursive functions, and the lambda calculus, all of which have computationally equivalent power.
In mathematics, logic and computer science, a formal language is called recursively enumerable (also recognizable, partially decidable, semidecidable, Turing-acceptable or Turing-recognizable) if it is a recursively enumerable subset in the set of all possible words over the alphabet of the language, i.e., if there exists a Turing machine which will enumerate all valid strings of the language. Recursively enumerable languages are known as type-0 languages in the Chomsky hierarchy of formal languages.
The popular isolation level multiversion Read Committed (RC) exchanges some of the strong guarantees of serializability for increased transaction throughput. Nevertheless, transaction workloads can sometimes be executed under RC while still guaranteeing se ...
The celebrated PCP Theorem states that any language in NP can be decided via a verifier that reads O(1) bits from a polynomially long proof. Interactive oracle proofs (IOP), a generalization of PCPs, allow the verifier to interact with the prover for multi ...
Logic synthesis is an important part of electronic design automation (EDA) flows, which enable the implementation of digital systems. As the design size and complexity increase, the data structures and algorithms for logic synthesis must adapt and improve ...