Vérification formelleIn the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics. Formal verification can be helpful in proving the correctness of systems such as: cryptographic protocols, combinational circuits, digital circuits with internal memory, and software expressed as source code.
Méthode formelle (informatique)En informatique, les méthodes formelles sont des techniques permettant de raisonner rigoureusement, à l'aide de logique mathématique, sur un programme informatique ou du matériel électronique numérique, afin de démontrer leur validité par rapport à une certaine spécification. Elles reposent sur les sémantiques des programmes, c'est-à-dire sur des descriptions mathématiques formelles du sens d'un programme donné par son code source (ou, parfois, son code objet).
RaisonLa raison est généralement considérée comme une faculté propre de l'esprit humain dont la mise en œuvre lui permet de créer des critères de vérité et d'erreur et d'atteindre ses objectifs. Elle repose sur la capacité qu'aurait l'être humain de faire des choix en se basant sur son intelligence, ses perceptions et sa mémoire tout en faisant abstraction de ses préjugés, ses émotions ou ses pulsions. Cette faculté a donc plusieurs emplois : connaissance, éthique et technique.
Runtime verificationRuntime verification is a computing system analysis and execution approach based on extracting information from a running system and using it to detect and possibly react to observed behaviors satisfying or violating certain properties. Some very particular properties, such as datarace and deadlock freedom, are typically desired to be satisfied by all systems and may be best implemented algorithmically. Other properties can be more conveniently captured as formal specifications.
Vérification de modèlesthumb|308x308px|Principe du model checking. En informatique, la vérification de modèles, ou model checking en anglais, est le problème suivant : vérifier si le modèle d'un système (souvent informatique ou électronique) satisfait une propriété. Par exemple, on souhaite vérifier qu'un programme ne se bloque pas, qu'une variable n'est jamais nulle, etc. Généralement, la propriété est écrite dans un langage, souvent en logique temporelle. La vérification est généralement faite de manière automatique.
Formal specificationIn computer science, formal specifications are mathematically based techniques whose purpose are to help with the implementation of systems and software. They are used to describe a system, to analyze its behavior, and to aid in its design by verifying key properties of interest through rigorous and effective reasoning tools. These specifications are formal in the sense that they have a syntax, their semantics fall within one domain, and they are able to be used to infer useful information.
Raisonnement déductifEn logique, la déduction est une inférence menant d'une affirmation générale à une conclusion particulière. La déduction est une opération par laquelle on établit au moyen de prémisses une conclusion qui en est la conséquence nécessaire, en vertu de règles d'inférence logiques. Ces règles sont notamment l'objet des Premiers Analytiques d'Aristote. On l'oppose généralement à l'induction, qui consiste au contraire à extraire d'un nombre fini de propositions données par l'observation, une conclusion ou un petit nombre de conclusions plus générales.
Liste de concepts logiquesCet article liste les principaux concepts logiques, au sens philosophique du terme, c'est-à-dire en logique générale (issue de la dialectique). Nota : La logique comporte aussi des branches en mathématiques et en informatique. Ces branches de la logique utilisent des concepts souvent différents comme les prédicats : axiome, théorème hypothèse, conjonction, disjonction, Déduction naturelle... Pour plus d'informations sur ces concepts consulter les articles : Logique mathématique, logique classique.
Induction (logique)L'induction est historiquement le nom utilisé pour signifier un genre de raisonnement qui se propose de chercher des lois générales à partir de l'observation de faits particuliers, sur une base probabiliste. Remarque : Bien qu'associée dans le titre de cet article à la logique, la présentation qui suit correspond surtout à la notion bayésienne, utilisée consciemment ou non, de l'induction.
Raisonnement automatisévignette|Visualisation commune du réseau de neurones artificiels avec puce NOTOC Le raisonnement automatisé est un domaine de l'informatique consacré à la compréhension des différents aspects du raisonnement de manière à permettre la création de logiciels qui permettraient aux ordinateurs de « raisonner » de manière automatique, ou presque. Il est considéré habituellement comme un sous-domaine de l'intelligence artificielle, mais possède aussi de fortes connexions avec l'Informatique théorique et même avec la philosophie.
Référencement localLe référencement local est une technique d'optimisation web qui est apparue vers la fin de 2006. Cette technique consiste à créer une fiche d'entreprise sur la section carte des moteurs de recherche et de profiter ainsi d'affichages optimisés dans les pages de résultats de recherche, mais aussi sur les cartes. Egalement, avec la multiplication des services et sites d'informations permettant d'obtenir de la visibilité localisée, le référencement local consiste aujourd'hui à développer en complément une présence générale au sein de tout lieu visité par d'éventuelles cibles.
Correction d'un algorithmeUn algorithme est correct s'il fait ce qu'on attend de lui. Plus précisément, rappelons qu'un algorithme est décrit par une spécification des données sur lesquelles l'algorithme va démarrer son calcul et une spécification du résultat produit par l'algorithme. Démontrer la correction de l'algorithme consiste à démontrer que l'algorithme retourne, quand il calcule en partant des données, un objet qui est un des résultats escomptés et qui satisfait la spécification du résultat comme énoncé dans la description de l'algorithme.
Automate fini non déterministeUn automate fini (on dit parfois, par une traduction littérale de l'anglais, machine à états finis, au lieu de machine avec un nombre fini d'états ou machine à états finie ou machine finie à états), finite-state automaton ou finite-state machine (FSA, FSM), est une machine abstraite qui est un outil fondamental en mathématiques discrètes et en informatique. On les retrouve dans la modélisation de processus, le contrôle, les protocoles de communication, la vérification de programmes, la théorie de la calculabilité, dans l'étude des langages formels et en compilation.
Abduction (logique)L'abduction (du latin « abductio » : emmener) est un type de raisonnement consistant à inférer des causes probables à un fait observé. Autrement dit, il s'agit d'établir une cause la plus vraisemblable à un fait constaté et d'affirmer, à titre d'hypothèse de travail, que le fait en question résulte probablement de cette cause. Par exemple, en médecine, l’abduction est utilisée pour faire des diagnostics.
Google (moteur de recherche)Google est un moteur de recherche gratuit et libre d'accès sur le World Wide Web, ayant donné son nom à la société Google. C'est aujourd'hui le moteur de recherche et le site web le plus visité au monde : 90 % des internautes l'utilisaient en 2018. Le nom Google vient du mot Gogol, nom donné au nombre . Ce nombre a été choisi pour évoquer la capacité de Google à traiter une très grande quantité de données.
Search engineA search engine is a software system that finds web pages that match a web search. They search the World Wide Web in a systematic way for particular information specified in a textual web search query. The search results are generally presented in a line of results, often referred to as search engine results pages (SERPs). The information may be a mix of hyperlinks to web pages, images, videos, infographics, articles, and other types of files. Some search engines also mine data available in databases or open directories.
Commonsense reasoningIn artificial intelligence (AI), commonsense reasoning is a human-like ability to make presumptions about the type and essence of ordinary situations humans encounter every day. These assumptions include judgments about the nature of physical objects, taxonomic properties, and peoples' intentions. A device that exhibits commonsense reasoning might be capable of drawing conclusions that are similar to humans' folk psychology (humans' innate ability to reason about people's behavior and intentions) and naive physics (humans' natural understanding of the physical world).
Optimisation pour les moteurs de recherchealt=Illustration du principe de fonctionnement du PageRank|vignette|Illustration du principe de fonctionnement du PageRank. Loptimisation pour les moteurs de recherche, aussi connue sous le sigle SEO (de l'anglais « Search Engine Optimization »), inclut l'ensemble des techniques qui visent à améliorer le positionnement d'une page, d'un site ou d'une application web dans la page de résultats d'un moteur de recherche (SERP pour « Search Engine Results Page »).
Continuation (informatique)En informatique, la continuation d'un système est son futur, c'est-à-dire la suite des instructions qu'il lui reste à exécuter à un moment précis. C'est un point de vue pour décrire l'état de la machine. Dans certains langages de programmation, les continuations peuvent être manipulées explicitement en tant qu'objets du langage à part entière : on peut stocker la continuation courante dans une variable que l'on peut donc manipuler en tant que telle ; puis plus loin, on peut restaurer la continuation, ce qui a pour effet de dérouter l'exécution du programme actuel vers le futur que l'on avait enregistré.
Ensemble partiellement ordonnéEn mathématiques, un ensemble partiellement ordonné (parfois appelé poset d'après l'anglais partially ordered set) formalise et généralise la notion intuitive d'ordre ou d'arrangement entre les éléments d'un ensemble. Un ensemble partiellement ordonné est un ensemble muni d'une relation d'ordre qui indique que pour certains couples d'éléments, l'un est plus petit que l'autre. Tous les éléments ne sont pas forcément comparables, contrairement au cas d'un ensemble muni d'un ordre total.