1. Trang chủ
  2. » Ngoại Ngữ

Ontologie d’événements vidéos pour un système automatique d’interprétation vidéo

35 345 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 35
Dung lượng 596,87 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Résumé Ce rapport traite du problème de la définition d’une ontologie d’événements vidéos utilisables par une plate-forme d’interprétation automatique de séquences vidéos.. CHAPITRE 1:

Trang 1

Mémoire de fin d’études

Ontologie d’événements vidéos pour un

système automatique d’interprétation vidéo

Réalisé par

PHAM Le Son

Sous la direction de

Monique THONNAT Nicolas MAILLOT

Sophia-Antipolis, Septembre 2004

Trang 2

Merci également à Thanh Le Bach et Fabient Gandon de l’équipe ACACIA pour leurs conseils précis et les discussions intéressants que j’ai eu avec eux

Enfin, je tiens à remercier l’Institut de la Francophonie pour l’informatique – IFI qui m’a aidé à effectuer mon stage de fin d’étude à l’INRIA Sophia Antipolis

Trang 3

Résumé

Ce rapport traite du problème de la définition d’une ontologie d’événements vidéos utilisables par une plate-forme d’interprétation automatique de séquences vidéos Une grande difficulté dans la construction d’une telle otologie est qu'il n'y a pas encore une plateforme standard Pour résoudre ce problème, les ontologies sont formalisées dans le langage VERL (Video Event Representation Language) Au lieu d’utiliser XML pour représenter les ontologies comme l’auteur de VERL, nous avons transformé des expressions de VERL sur OWL (Web Ontology Language) Grâce à cela, l'ontologie a un sémantique clair et peut être plus facilement partagée

et réutilisée entre des communautés Nous avons créé également un outil graphique d'acquisition

de connaissance, utilisant cette ontologie, pour aider les experts à définir des événements d'intérêt dans des domaines d’application spécifiques A l’aide de l’ontologie d’événements vidéos, un expert peut créer, gérer et manipuler des événements complexes relatifs à son domaine Cette 'outil est utilisé pour définir les événements vidéos dans l'application de la surveillance en agence bancaire Malgré des résultats prometteurs, il reste encore des problèmes non résolus, par exemple, comment enfoncer l'ontologie dans les moteurs d'inférence disponibles dans les cadres standard de représentation tels que SWRL (Semantic Web Rule Language)

Trang 4

Abstract

In the thesis, we propose an event ontology that can be used for an Automatic Video Interpretation system The main obstacle is that there is no standard framework for defining event ontologies To solve this issue, we first use the VERL (Video Event Representation Language) to describe the ontology as a formalization step Then, these concepts are transformed in OWL (Web Ontology Language), a standard language of ontology So, the ontology not only has a clear semantic but also can be shared and reused among communities easily We also introduce a graphical ontology-based knowledge acquisition tool which allows the domain experts to understand, manage and manipulate events of interest for video interpretation The tool is used to define video events in the banking monitoring application Despite of promising results, however, there are still open problems needed further researches, for example, how to embed the ontology in the inference engines available in standard representation frameworks such as SWRL (Semantic Web Rule Language)

Key words

ontology, video event, OWL, VERL, knowledge representation, knowledge acquisition

Trang 5

Table des matières

CHAPITRE 1: INTRODUCTION 8

1.1 Contexte du travail 8

1.2 VSIP : Un système automatique d'interprétation vidéo 8

1.3 Langage de Description de Scénarios de l’équipe ORION 9

1.4 Objectifs 10

1.5 Contenu du rapport 10

CHAPITRE II: ETAT DE L’ART 11

2.1 L'ontologie 11

2.1.1 La notion d’ontologie 11

2.1.2 Pourquoi construire des ontologies ? 11

2.1.3 Le processus de création d’une ontologie 12

2.1.4 Vue d'ensemble des langages d'ontologie 14

2.2 La représentation d’événements vidéos 16

2.2.1 Revue de la bibliographie de la représentation d’événements vidéos 16

2.2.2 VERL : Une langage de la représentation d’événements vidéos 17

2.3 Conclusion 18

CHAPITRE 3 : ONTOLOGIE D’EVENEMENTS VIDEOS 19

3.1 Vue d’ensemble de la méthodologie 19

3.2 Conceptualisation du domaine 19

3.2.1 Des objets physiques 19

3.2.2 Relations spatiales 20

3.2.3 Etats et événements vidéo 21

3.2.4 Relations temporelle 21

3.3 Représentation des événements sur VERL 21

3.3.1 Définition hiérarchique des concepts 22

3.3.2 Représentation des états et événements sur VERL 22

3.4 L’implémentation de l’ontologie sur OWL 23

CHAPITRE 4 : UN OUTIL D’ACQUISITION DE CONNAISSANCES 26

4.1 Structure de l’outil 26

4.2 Fonctionnalités de l’outil 26

4.3 Etude de cas : la représentation de l’événement de l’attaque en agence bancaire 27

4.4 Résultat obtenu 29

CHAPITRE 5: CONCLUSION & PERSPECTIVES 30

5.1 Conclusion 30

Trang 6

5.2 Perspectives 30

BIBLIOGRAPHIE 31

ANNEX : REPRESENTATION DE L’ONTOLOGIE SUR VERL 33

Trang 7

Table des figures

Figure 1 : Structure simplifiée d’une plate-forme d’interprétation vidéo 8

Figure 2 : Structure du système automatique d'interprétation vidéo VSIP 9

Figure 3 : Le cycle de vie d’une ontologie 12

Figure 4 : Exemple de représentation XML 14

Figure 5 : Exemple de représentation RDF 14

Figure 6 : Représentation d’un graphe de triplets 15

Figure 7 : Exemples d’objets physiques 20

Figure 8 : Exemple des relations spatiales 20

Figure 9 : L’arbre des objets physiques (a) et l’arbre des relations spatiales et temporelles (b) 26

Figure 10 : La fenêtre principale de l’outil 27

Figure 11 : Définition d’un objet physique 27

Figure 12 : Définition d’un composant 28

Figure 13 : Définition une contrainte 28

Figure 14 : Détection de l'événement de l’attaque en agence bancaire utilisant des scénarios définis par l’outil graphique 29

Figure 15 : L’événement vidéo attaque en agence bancaire obtenu grâce à l’outil d’acquisition de connaissances 29

Trang 8

CHAPITRE 1: NTRODUCTION

1.1 Contexte du travail

Depuis plusieurs années, une partie de l'équipe Orion de l'Inria Sophia-Antilolis concentre ses efforts sur la construction d’une plate-forme d'interprétation automatique de séquences vidéos pour la reconnaissance de comportements humains (ex situation de violence, attaque en agence bancaire) Une version simplifiée d’une plate-forme d'interprétation automatique de séquences vidéos est donnée dans la figure 1 L’objectif de ce système est de reconnaître des événements vidéos définis à priori à partir d’un flux vidéo

Figure 1 : Structure simplifiée d’une plate-forme d’interprétation vidéo

Lors de la construction d’une plate-forme d’interprétation vidéo, un des problèmes rencontré est celui de la représentation et de la définition d’événements vidéos d’intérêt

Dans la plate-forme de l’équipe (VSIP), la définition d’événements vidéos se fait actuellement par le biais d’un langage de description qui n’est facile d’accès pour un non informaticien Pour faciliter ce processus d’acquisition de connaissances, l’équipe s’intéresse à la construction d'ontologies pour représenter les concepts utiles pour la définition d’événements vidéos Il s’agit

de construire une ontologie d'événements vidéos fournissant une base sémantique et un vocabulaire conceptuel consensuel utile pour définir des événements vidéos complexes Cette ontologie d'événements vidéos permet à l'utilisateur de comprendre les termes employés pour décrire des événements vidéos sans être concerné par la problématique du traitement d'image

De plus, l’ontologie d'événements vidéos facilite la communication entre les experts d’un domaine (ex experts de la sécurité en agence bancaire), et les développeurs de systèmes de

interprétation automatique de séquences vidéos Une telle ontologie est également utile pour

partager et réutiliser des modèles d’événements

Enfin, cette ontologie d'événements vidéos est utile pour évaluer les systèmes d'interprétation automatique de séquences vidéos et pour comprendre quels types d'événements ces systèmes sont capable de reconnaître

1.2 VSIP : Un système automatique d'interprétation vidéo

Nous avons introduit nos intérêts sur la construction d’une plate-forme d'interprétation automatique de séquences vidéos pour la reconnaissance de comportements humains Dans cette section, nous allons présenter notre système automatique d’interprétation vidéo

VSIP, le système automatique d'interprétation vidéo de l’équipe ORION est décrit dans la figure

2 Le système prend comme entrée les connaissances à priori comprenant des événements vidéos d’intérêt prédéfinis par des experts, l'information géométrique 3D et la sémantique relative à l’environnement En cours d’utilisation du système, le flux vidéo acquis par une camera constitue une entrée du système Le sortie du système est l'ensemble des événements

Evénements vidéos reconnus

Trang 9

vidéos identifiés (ex attaque en agence bancaire) Le module de reconnaissance de scénario est décrit dans [Vu et al 2003]

Notre objectif est de proposer une ontologie d’événements vidéos ainsi qu’un outil d’acquisition

de connaissances afin de faciliter la définition d’événements vidéos d’intérêt Les chapitres 3 et

4 de ce rapport présentent respectivement une ontologie d’événements vidéos et un outil d’acquisition de connaissances

Figure 2 : Structure du système automatique d'interprétation vidéo VSIP

1.3 Langage de Description de Scénarios de l’équipe ORION

Des événements vidéos sont représentes par le Langage de Description de Scénarios développé dans l’équipe ORION

Il y a deux types principaux de concepts : les objets physiques observés dans la scène et les événements vidéos apparaissant dans la scène

• Un objet physique peut être un objet statique (ex bureau) ou un objet mobile (ex personne, voiture)

• Un événement vidéo peut être un état primitif, état composite, événement primitif ou événement composite Les états primitifs sont des atomes nécessaires pour la construction d’événements complexes utilisables par la plate-forme d’interprétation automatique de séquences vidéos de l’équipe ORION

Un même événement peut être regardé à différentes granularités spatiales et temporelles Par exemple, un homme courant dans un Marathon peut être vu comme un état (il court) ou comme événement composé La granularité choisie indique les propriétés d'intérêt pour l'utilisateur

La syntaxe pour définir un état ou un événement se compose trois parties :

PhysicalObjects: déclare les objets physiques concernant le concept Seulement les objets qui

peuvent changer entre les occurrences de concept doivent être déclarés

La connaissance à priori

Information géométrique et sémantique relative à l’environnement

Evénements vidéos d’intérêt définis par des experts

Evénements Vidéos Reconnus

Trang 10

Components: déclare tous les composants constituant l’événement vidéo

Constraints: déclare toutes les relations entre les sub-concepts (objets physiques et composants) du concept

L’exemple ci-dessous illustre la représentation de l’état Inside_zone dans le Langage de

Description de Scénarios de l’ORION :

PrimitiveState Inside_zone PhysicalObjects

((p : Person), (z : Zone))

Constraints

(p in z)

Un autre exemple, l’événement Changes_zone est définit en utilisant des états Inside_zone

comme ses composants :

Le but de ce stage de DEPA est d’améliorer le travail de l'équipe Orion sur l’ontologie d'événements vidéos:

• Premièrement, il s’agit d’étendre et d’implémenter dans un langage standard l’ontologie d'événements vidéos existante

• Deuxièmement, il s’agit de construire un outil graphique d'acquisition de connaissances basé sur l’ontologie d’événements vidéos afin de permettre à des experts de comprendre, de contrôler et de manipuler des événements d'intérêt pour leurs domaines d’application

1.5 Contenu du rapport

Ce rapport est organisé comme suit Le chapitre 2 introduit une vue d’ensemble du domaine de l’ontologie ainsi que le problème de la représentation et la définition d’événements vidéos Une ontologie d’événements vidéos est proposée dans la chapitre 3 Le chapitre 4 présente un outil graphique d'acquisition de connaissances destiné à aider les experts d’un domaine à définir des événements d’intérêts Enfin, nous concluons et donnons des perspectives de travail dans le chapitre 5

Trang 11

CHAPITRE I: ETAT DE L’ART

Comme nous l’avons expliqué dans l’introduction de ce rapport, notre objectif est de faciliter la définition d’événements vidéos par l’utilisation d’une ontologie d’événements vidéos L’état de l’art proposé dans ce chapitre est structuré en deux parties Une introduction au domaine de l’ontologie est d’abord proposée Ensuite, nous donnons un aperçu des approches existantes dans le domaine de la représentation d’événements vidéos

2.1 L'ontologie

Durant la dernière décennie, l’ingénierie ontologique est devenu un thème de recherche très populaire [Roche, 2003] et joue un rôle de plus en plus important dans différents domaines tels que la recherche intelligente sur le Web, le partage, la gestion et la réutilisation de connaissances

2.1.1 La notion d’ontologie

En informatique, une ontologie a pour but de représenter formellement l’existant La représentation formelle des connaissances est basée sur une étape de conceptualisation La

conceptualisation consiste à identifier un ensemble de concepts ainsi que les relations qui les

relient Une spécification explicite de cette conceptualisation s'appelle une ontologie [Gruber, 1993] Formellement, une ontologie se compose des termes, de ses définitions, des relations et des axiomes [Gruber, 1993]

Selon [Roche, 2003] l’ingénierie ontologique repose sur une approche multidisciplinaire:

• linguistique, comme nous employons des mots pour communiquer;

• théorie de la connaissance, puisque les mots se rapportent à la connaissance qui définit leur signification;

• logique, afin de garantir de la concordance;

• représentation de la connaissance afin d’adresser le problème de la compréhension d’un domaine

2.1.2 Pourquoi construire des ontologies ?

Quelles sont les raisons de développer des ontologies? L’une des motivations principales est de permettre la communication et partager la compréhension commune d’un domaine Ceci, entre des personnes ou des agents de logiciel

Une autre raison importante qui inspire la recherche sur les ontologies est que des ontologies permettent la réutilisation de la connaissance Par exemple, dans le cadre de la représentation d’événements vidéos, plusieurs approches permettent de représenter la notion du temps Il s’agit par exemple des notions d’intervalles de temps, points de temps, mesures relatives du temps Si un groupe de chercheurs développe une telle ontologie, d'autres peuvent simplement

la réutiliser pour d’autres applications

Trang 12

Finalement, l'analyse ontologique clarifie la structure de la connaissance [Chandrasekaran et al., 1999] Plus qu’un vocabulaire spécialisé pour un domaine, les ontologies fournissent les conceptualisations des termes du domaine De plus, l'analyse formelle des termes est extrêmement importante pour la réutilisation ou de l’extension d’ontologies existantes

2.1.3 Le processus de création d’une ontologie

Le processus de création d’une ontologie doit être considéré comme un projet Les méthodes de gestion de projet peuvent donc s'appliquer [ Gandon, 2002 ] Un cycle de vie d’une ontologie est proposé dans [Lopez et al, 2000] Trois types d’activités sont identifiés (Figure 3):

• La gestion

• La construction

• Le support

Figure 3 : Le cycle de vie d’une ontologie

L’activité de construction est la partie centrale du cycle, au cours duquel les activités de gestion

et de support participent La construction se compose quatre étapes :

Spécification :

La construction d’une ontologie commence par la définition d’un domaine et de sa portée C’est

à dire, il faut trouver des réponses a des questions comme [Noy et McGuinness, 2001] :

• Quel est le domaine que l'ontologie couvrira?

• Quels sont les buts de l'utilisation de l'ontologie?

Trang 13

• A quels types de questions l'information contenue dans l'ontologie devra-t-elle fournir des réponses?

• Qui va utiliser et maintenir l'ontologie ?

Conceptualisation :

La phase conceptualisation a pour but de la structuration des connaissances d’un domaine Cette phase se compose des étapes suivantes:

D’identifier des concepts, des attributs, et des valeurs dans un Dictionnaire Glossaire

De classifier des groupes de concepts dans des Arbres de Concepts

De construire une Table des Relations

De construire une Table des Instances d’Attributs

De définir des constantes dans un Table des Constantes

De construire une Table de Formules

Formalisation :

Une fois le modèle conceptuel structuré, il faut le traduire dans un formalisme formel or informel Grâce à la formalisation, les définitions des concepts sont plus explicites et précises L’objectif est de faciliter l'interprétation de l’ontologie [Uschold et Jasper, 1999] ont proposé quatre niveaux de formalismes d’une ontologie, du haut niveau informel au niveau formel rigoureux Le niveau du formalisme d’une ontologie est choisi selon les besoins et selon le langage d’implémentation de l’ontologie Par exemple, si l’ontologie est un framework pour la communication entre des personnes alors la représentation d’une ontologie peut être informelle Cependant, si l’ontologie est utilisée par les outils logiciels, la représentation doit être plus formelle

Parmi les nombreux langages de formalisation des ontologies, il y a trois grandes familles: les langages à base de frames, les modèles des graphes contextuels et les logiques de description Dans les langages à base de frames, les frames représentent les catégories d’objets et sont dotées d’attributs (slots) Les slots peuvent prendre différentes valeurs Une instance de classe, qui a un identifiant et des attributs uniques est liée à sa classe par le lien « is - a » Les classes sont structurées par un lien hiérarchique « a-kind-of » Flogic [Kifer et al., 1995] est un exemple connu de formalisme qui intègre les langages à base de frames, les formalismes orientés objet et

la logique du premier ordre

Dans le modèle des graphes conceptuels [Chein et Mugnier, 1992] on distingue des niveaux différents Au niveau conceptuel, il peut servir de base à un langage spécialisé de communication entre les spécialistes de différentes disciplines impliquées dans un travail cognitif commun Au niveau d'exécution, il peut servir de base à un outil commun de représentation employé par plusieurs modules d'un système complexe

Les logiques de description sont basées sur la logique prédicat, les réseaux sémantiques et les langages à base de frame Dans le formalisme des logiques de description, les connaissances sont représentées sous forme de concepts, de rôles et d’individus Un concept est une entité générale d’un domaine d’application Les rôles sont des relations binaires entre concepts et les individus sont les instances des concepts Les propriétés des concepts, rôles et individus sont exprimées en logique des prédicats

Implémentation :

Finalement, on doit l’implémenter l’ontologie sur un langage Le langage choisit doit correspondant avec le modèle de formalisation Une introduction brève des langages d’ontologie est présentée dans la session suivante

Trang 14

2.1.4 Vue d'ensemble des langages d'ontologie

Pour implémenter des ontologies, de nombreux langages ont été utilisés La plupart sont basés sur XML et les logiques de description Dans cette section, nous présenterons brièvement XML, XML Schema, RDF, RDF Schema et OWL qui sont les langages le plus populaires

Figure 4 : Exemple de représentation XML

XML fournit seulement une structure syntaxique pour des documents [Klein, 2004] XML ne permet pas une interprétation sémantique des données

un langage mais un modèle pour représenter des données au sujet de « choses sur l’Internet »

Ce type de données pour données s'appelle des metadonnées Les choses sont des ressources dans le vocabulaire de RDF [Klein, 2004]

RDF est basée sur la notion d'URI (Uniform Resource Identifiers), en décrivant des ressources

en termes de propriétés et de valeurs de propriétés

Trang 15

Le modèle de base de données de RDF comporte quatre types d'objets:

Les ressources sont toutes les choses décrites par des expressions de RDF Une ressource peut

varier d’une page entière de Web à un élément d’un document XML

Une propriété est un aspect, une caractéristique, un attribut, ou une relation spécifique employée pour décrire une ressource

La notion de literal est employée pour identifier des valeurs telles que des nombres et des dates

au moyen d'une représentation lexicographique

Un statement se compose d'une ressource spécifique ainsi que d’une propriété plus la valeur de

cette propriété pour cette ressource

Chaque statement est représenté par un triplet qui est se compose d'un sujet (une ressource), d'un attribut (une propriété) et d'un objet (ressource ou un literal) Un ensemble de tels triplets

s'appelle un graphe de RDF La figure 5 représente l’exemple précédant sous la forme d’un graphe de triplets

Comme XML, un modèle RDF ne définit pas (à priori) la sémantique d'un domaine d'application Il fournit seulement un mécanisme d’intermédiaire pour décrire des meta-données Pour définir les propriétés spécifiques d’un domaine ainsi que leur sémantique, il est nécessaire d’utiliser des éléments additionnels

RDF schema fournit un système de type pour RDF Il fournit un mécanisme pour définir des propriétés associées à des classes ainsi que leurs ranges et leurs domaines

Figure 6 : Représentation d’un graphe de triplets

Les primitives pour construire un schéma pour un domaine spécifique sont :

• Les définitions de classe (rdf:Class) de statements rdf:subClassof qui permettent la définition d’hiérarchies de classe

• Les définitions de propriété et les statements rdf :subPropertyof pour créer des hiérarchies

Trang 16

Un Langage basé sur les logiques de descriptions et XML : OWL

Une autre famille de langages de représentation de connaissances est construite sur XML et les logiques de descriptions Ces langages sont ainsi compatibles avec des normes standard existantes du Web et en même temps offrent la sémantique des logiques de description Le

principal représentant de cette famille de langages est OWL OWL est devenu une

2.2 La représentation d’événements vidéos

2.2.1 Revue de la bibliographie de la représentation d’événements vidéos

Dans la communauté de la vision par ordinateur, il a y eu beaucoup de recherches destinées à définir et à représenter des événements vidéos Par exemple, les auteurs de [Nagel, 1998] utilisent une hiérarchie de verbes de mouvements, contenant jusqu'à neuf niveaux d'abstraction

de verbes tels que : « changement », « événement », « verbe-phrase », « phase », « historique » Ils proposent également d'utiliser un diagramme de transition à chaque niveau d'abstraction pour représenter la succession des verbes [Nevatia et al, 2003] propose une décomposition hiérarchique des événements et suggèrent l'utilisation des terminologies « single thread » et

« multiple thread »

Concernant les ontologies d'événements vidéos, peu de travaux ont été menés En 2003, l'objectif de trois workshops organisés dans le contexte du programme ARDA (**) était de proposer une ontologie d'événement vidéo pour le domaine de la sécurité Pendant ces workshops, des chercheurs venus de la communauté de la vision par ordinateur et de l'administration américaine ont travaillé ensemble pour proposer une structure d'ontologie d'événements vidéos pour faciliter la construction d’ontologies consacrées aux domaines spécifiques de la sécurité Les chercheurs de la communauté de la vision par l'ordinateur ont proposé six ontologies consacrées à des applications spécifiques de sécurité telles que la surveillance de croisement de chemin de fer L’équipe ORION a participé à ces workshops et a proposé deux ontologies pour la surveillance de banque et de métro [Bremond et al 2004] Ces ontologies ont été définies de manière incrémentale par une interaction avec des utilisateurs, comme par exemple des opérateurs de surveillance de métros et de banques

A la suite des workshops du programme ARDA, Les auteurs de [Nevatia et al., 2004] ont proposé un langage formel de représentation d’événements vidéos ainsi que des ontologies spécifiques pour le domaine de la sécurité Le langage formel proposé s’appelle VERL que on

va voir en détail dans la session suivant

_-

Trang 17

2.2.2 VERL : Une langage de la représentation d’événements vidéos

VERL (Video Event Markup Language), proposé par des auteurs dans [Nevatia et al., 2004], est

un langage formel pour décrire une ontologie des événements Il est possible de traduire des expressions de VERL dans la logique premier ordre Les expressions dans VERL ont donc une sémantique claire

Objects, états, événements et types

Les notions importantes dans VERL sont objets, états et événements Les objets ont des propriétés ou des attributs qui sont considérées comme des prédicats d'un argument Ils se composent également des relations avec autres objets Nous pouvons penser à ces derniers comme prédicats avec deux ou plus arguments Les propriétés, les attributs, et les relations peuvent être considérés comme des états Un événement est un changement d'état dans un objet

Il y a de trois types basiques dans le langage Tout est une thing (une chose) La thing décrit un état ou un événement, ou une entité telle qu'un objet physique Il y a deux types de things Le type ent comprend des entités, et généralement peut être considéré comme des objets physiques

Le type ev se compose des états et des événements Normalement, une personne serait du type ent, et son action de courir serait du type ev

Expressions dans VERL

Les constantes peuvent être de n'importe quel type prédéfini Un constant ou une variable est

une expression de VERL Une expression de VERL (vexpr) est définie comme ci-dessous: vexpr > constant | variable

Une fonction symbolique qui s'est appliquée au nombre approprié de vexprs comme des arguments est une vexpr:

vexpr > fct "(" [ vexpr { "," vexpr }* ] " )"

Un prédicat symbolique s’est appliqué au nombre approprié d'arguments est une vexpr :

vexpr > pred "(" [vexpr { "," vexpr } * ] " )"

Fait attention que les arguments doivent être du bon type et le résultat est toujours de type ev

Un opérateur logique appliqué au nombre approprié des vexprs de type ev est un vexpr :

vexpr > "AND" "( " vexpr {"," vexpr } * " )" | "OR" " (" vexpr { "," vexpr }* " ) " | "IMPLY" " ( " vexpr "," vexpr " )

| "NOT" " ( "vexpr " ) " | "EQUIV" " ( " vexpr "," vexpr " ) "

Représentation des événements composés

L'opérateur de base pour définir des événements composés est PROCESS Il prend un prédicat

et une vexpr comme ses deux arguments Le prédicat applique au nombre approprié

d'arguments, ó les arguments ont des spécifications optionnel de type

defn > "PROCESS" "(" pred "(" [argspec {"," argspec}* ")" ["," vexpr] ")"

argspec > [type] variable

Par exemple, si nous avons le prédicat located-at reliant une thing à un ent, et un prédicat change reliant deux arguments de type ev, alors nous pouvons définir le prédicat move comme

ci-dessous:

PROCESS(move(thing x, ent y, ent z), change(located-at(x,y),located-at(x,z)))

Ngày đăng: 27/10/2016, 23:15

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm