DE10332203A1 - Distributed Bayes network based expert system e.g. for vehicle diagnosis and functional restoring, has junction tree divided in two parts and has two arithmetic and logic units, divided under each other and in communication connection - Google Patents

Distributed Bayes network based expert system e.g. for vehicle diagnosis and functional restoring, has junction tree divided in two parts and has two arithmetic and logic units, divided under each other and in communication connection Download PDF

Info

Publication number
DE10332203A1
DE10332203A1 DE10332203A DE10332203A DE10332203A1 DE 10332203 A1 DE10332203 A1 DE 10332203A1 DE 10332203 A DE10332203 A DE 10332203A DE 10332203 A DE10332203 A DE 10332203A DE 10332203 A1 DE10332203 A1 DE 10332203A1
Authority
DE
Germany
Prior art keywords
junction
variables
expert system
tree
junction tree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE10332203A
Other languages
German (de)
Inventor
Bernard Dr.-Ing. Bäker
Bernd Dipl.-Ing. Rehfus
Harald Dipl.-Math. Renninger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mercedes Benz Group AG
Original Assignee
DaimlerChrysler AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DaimlerChrysler AG filed Critical DaimlerChrysler AG
Priority to DE10332203A priority Critical patent/DE10332203A1/en
Publication of DE10332203A1 publication Critical patent/DE10332203A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/043Distributed expert systems; Blackboards
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/024Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer And Data Communications (AREA)

Abstract

The system has a junction tree divided in two parts and has two arithmetic and logic units, divided under each other and in communication connection.

Description

Die Erfindung betrifft ein verteiltes Bayesnetz-basiertes Expertensystem, das insbesondere zur Fahrzeugdiagnose und Funktionswiederherstellung von ausgefallenen Komponenten in einem Kraftfahrzeug eingesetzt werden kann.The The invention relates to a distributed Bayes network-based expert system, especially for vehicle diagnosis and functional recovery used by failed components in a motor vehicle can be.

Das zu einem technischen System gehörende Bayesnetz wird in einen Junction Tree transformiert und der Junction Tree auf mehrere Recheneinheiten, die untereinander in Kommunikationsverbindung stehen, aufgeteilt. Die Aufteilung des Junction Trees für das technische Gesamtsystem in Teil-Junction Trees ermöglicht hierbei die verteilte Berechnung der Systemabfragen auf verschiedenen Rechnern. Man spricht hierbei auch von Parallelisierung der in Junction Trees auftretenden Berechnungen. Die wichtigsten und umfangreichsten Berechnungen, die in Junction Trees auftreten, sind hierbei die Propagationen und die Marginalisierungen.The belonging to a technical system Bayes network is transformed into a junction tree and the junction Tree on multiple computing units communicating with each other stand, split. The division of the junction tree for the technical Whole system in sub-junction trees allows the distributed Calculation of system queries on different computers. One speaks here also of parallelization of the occurring in junction trees Calculations. The most important and extensive calculations, occurring in junction trees are the propagations and the marginalization.

Mit der Parallelisierung von Bayesnetzen befassen sich z. B. Y. Xiang, K.G. Olesen, F.V. Jensen in: Practical Issues in Modelling Large Diagnostics Systems with Multiply Sectioned Bayesian Networks, International Journal of Pattern Recognition and Artificial Intelligence, 14(1), Seiten 59 – 71, 2000. In dieser wissenschaftlichen Arbeit wird vorgeschlagen, komplexe technische Systeme dadurch in einem Bayesnetz zu modellieren, indem man auf bereits bekannte Unternetze für die einzelnen Komponenten des Gesamtsystems zurückgreift. Die bereits bekannten Unternetze werden hierbei mit einem Rahmennetzwerk, das als Hypertree bezeichnet wird, zusammengesetzt. Die einzelnen Unternetze, die jeweils Teilkomponenten abbilden, müssen hierbei als gerichtete Graphen vorliegen. Nur mit diesem gerichteten Graphen gelingt eine Zusammensetzung der einzelnen Teilgraphen mittels eines Hypertrees zu einem zusammengesetzten Netz, das schließlich in einen Junction Tree transformiert wird. Für die Aufteilung bzw. Parallelisierung oder Verteilung des Gesamtsystems werden die Knoten des Rahmennetzwerks, nämlich die Hyperknoten, vorgeschlagen. Weitere Untersuchungen befassen sich mit der Frage, wie die Transformation des Gesamtnetzes in einem Junction Tree durchzuführen ist, so dass die Hypertree-Struktur erhalten bleibt. Diese Technik hat große Vorteile auf der Ebene des gerichteten Graphen eines Bayesnetzes. Nachteile können sich jedoch auf der Ebene des Junction Trees ergeben. Je nach Verästelung des technischen Gesamtsystems können auf der Ebene des Junction Tree diese Separatoren zwischen zwei an den Hyperknoten getrennten Teilnetzen sehr viele Variablen enthalten. Solche Separatoren sind jedoch für eine effektive Aufteilung in ein verteiltes Diagnosenetz ungeeignet.With the parallelization of Bayesian nets are concerned, for. B. Y. Xiang, K. G. Olesen, F.V. Jensen in: Practical Issues in Modeling Large Diagnostics Systems with Multiply Sectioned Bayesian Networks, International Journal of Pattern Recognition and Artificial Intelligence, 14 (1), Pages 59 - 71, 2000. In this scientific paper, it is suggested that complex thereby modeling technical systems in a Bayes network by one on already known subnetworks for the individual components of the Overall system. The already known subnetworks are provided with a framework network, which is called Hypertree, composed. The single ones Subnetworks, each of which maps subcomponents, must be included exist as directed graphene. Only with this directed graph succeeds in a composition of the individual subgraphs by means of a Hypertrees to a compound network that finally in a junction tree is transformed. For the division or parallelization or distribution of the whole system become the nodes of the framework network, namely the hyper nodes, suggested. To investigate further with the question of how the transformation of the overall network in one Execute junction tree is so that the hypertree structure is preserved. This technique has big Advantages at the level of the directed graph of a Bayes network. Disadvantages can but arise at the level of the junction tree. Depending on branching of the overall technical system at the level of the junction tree these separators between two Hyperlinked subnets contain many variables. However, such separators are for an effective division into a distributed diagnostic network unsuitable.

Die große Bedeutung der Trennstellen für die Parallelisierung von Wahrscheinlichkeitsnetzen wird auch in dem Aufsatz von Bruce D'Ambrosio, Tony Fountain, Zhaoyu Li, „Parallelizing Probabilistic Inference – Some Early Explorations", veröffentlicht in 8th International Conference on Uncertainty in Artificial Intelligence (UAI'92) Stanford, Kalifornien, 1992. In dem Artikel werden verschiedene Aufteilungsstrategien und verschiedene Aufteilungsalgorithmen für die Parallelisierung von Wahrscheinlichkeitsnetzen untersucht. Die beiden wesent lichen Quellen für eine Parallelisierung sind hierbei entweder die Produktstruktur oder die Struktur des Evaluisierungsbaumes, wobei der Evaluisierungsbaum auf Knoten zu untersuchen ist, die den Evaluisierungsbaum in zwei disjunkte Teilbäume aufspalten. In der zusammenfassenden Bewertung ihrer Untersuchung kommen die Autoren dabei zu dem Ergebnis, dass eine wesentliche Beschleunigung von Netzwerkberechnungen in Wahrscheinlichkeitsnetzen nur durch die Parallelisierung individueller, konformer Produktoperationen möglich ist und sehr stark von dem Auffinden einer geeigneten Auftrennung abhängt. Die Möglichkeit einer Parallelisierung auf der Ebene der Clustering Trees oder der Junction Trees wird ausdrücklich als unwesentlich bezeichnet.The great importance of separation points for the parallelization of probability networks is also discussed in the paper by Bruce D'Ambrosio, Tony Fountain, Zhaoyu Li, "Parallelizing Probabilistic Inference - Some Early Explorations," published in 8 th International Conference on Uncertainty in Artificial Intelligence (UAI '92) Stanford, California, 1992. The article examines different partitioning strategies and different partitioning algorithms for parallelism of probability networks, where the two major sources of parallelization are either the product structure or the structure of the evaluation tree, with the tree of evaluation applied to nodes In the summary assessment of their investigation, the authors come to the conclusion that a substantial acceleration of network calculations in probability networks is only possible by analyzing the evaluation tree into two disjoint subtrees The parallelization of individual, compliant product operations is possible and depends very much on the finding of a suitable separation. The possibility of parallelization at the level of the clustering trees or the junction trees is expressly described as insignificant.

Die vorgenannten wissenschaftlichen Veröffentlichungen untersuchten die grundsätzliche Machbarkeit eines verteilten Expertensystems, wobei die Aufteilung des Wahrscheinlichkeitsnetzes, mit dem das dem Expertensystem zugrundeliegende technische System modelliert wird, auf der Ebene der Netzgraphen analysiert wurde und auch auf der Ebene der Netzgraphen nach Möglichkeiten zur Aufteilung des Expertensystems gesucht wurde.The the aforementioned scientific publications the fundamental Feasibility of a distributed expert system, the division of the probability network with which the expert system is based technical system is modeled at the level of network graphs was analyzed and also at the level of network graphs for possibilities was searched for the division of the expert system.

Ausgehend von dem vorbeschriebenen Stand der Technik, ist es erfindungsgemäße Aufgabe, eine Alternativlösung für die Aufteilung eines Expertensystems anzugeben.outgoing from the above-described prior art, it is the object of the invention an alternative solution for the Division of an expert system.

Die Lösung gelingt mit einem Bayesnetz-basierten Expertensystem nach Anspruch 1. Vorteilhafte Weiterbildungen sind in den Unteransprüchen sowie in der Beschreibung der Ausführungsbeispiele enthalten.The solution succeeds with a Bayes network-based expert system according to claim 1. Advantageous developments are in the dependent claims and included in the description of the embodiments.

Die Lösung gelingt hauptsächlich durch ein Bayesnetz-basiertes Expertensystem, bei dem die Aufteilung der Berech nungsverfahren auf die beteiligten Recheneinheiten nicht auf der Ebene der Graphen des Wahrscheinlichkeitsnetzes, sondern auf der Ebene des Junction Trees durchgeführt wird. Dies hat den Vorteil, dass die gängigen und etablierten Transformationsalgorithmen, mit denen ein Wahrscheinlichkeitsgraph triangulisiert und in einem Junction Tree transformiert werden kann, unverändert eingesetzt werden können. Eine genaue Analyse des Wahrscheinlichkeitsgraphen, wie im vorbeschriebenen Stand der Technik, ist bei der erfindungsgemäßen Aufteilung nicht notwendig. Die Aufteilung des Junction Trees zur verteilten Berechnung auf verschiedenen Recheneinheiten ist auch nicht an irgendwelche Produktstrukturen, an bereits bekannte Teilnetze oder an disjunkte Teilgraphen gebunden. Die Erfindung nutzt hier die Eigenschaft der Separatoren in einem Junction Tree, nämlich dass jeder Separator nur aus der Schnittmenge der Variablen der benachbarten Cliquen besteht, so dass er stets mit minimalem Informationstransfer doch alle notwendigen Informationen über die Abhängigkeit der beiden Cliquen enthält. Dies zusammen mit einer weiteren Eigenschaft der Junction Trees, nämlich dass sie ungerichtet sind und es keine geschlossenen Ketten innerhalb eines Junction Trees gibt, ermöglicht das Trennen des Junction Trees an einer beliebigen Verbindung zwischen zwei Cliquen, wobei dieses Teilen immer zu zwei separaten Junction Trees führt und beim Teilen kein Informationsverlust zu besorgen ist.The solution succeeds mainly through a Bayesian network-based expert system, in which the distribution of the calculation methods on the participating computation units is not carried out at the level of the graphs of the probability network, but at the level of the junction tree. This has the advantage that the current and established transformation algorithms, with which a probability graph can be triangulated and transformed in a junction tree, can be used unchanged. A detailed analysis of the probability graph, as in the above-described prior art, is in the inventive ßen division not necessary. The division of the junction tree for distributed computation on different arithmetic units is also not tied to any product structures, to already known subnetworks or to disjoint subgraphs. The invention here exploits the property of the separators in a junction tree, namely that each separator consists only of the intersection of the variables of the neighboring cliques, so that it always contains with minimal information transfer all the necessary information about the dependence of the two cliques. This, along with another property of the junction trees, namely that they are undirected, and there are no closed chains within a junction tree, allows separating the junction tree at any junction between two cliques, which always results in two separate junction trees and when sharing is no loss of information to get.

Der mit der Erfindung hauptsächlich erzielte Vorteil liegt damit in der großen Variabilität der Teilungsmöglichkeiten und der großen Teilungsvielfalt des Expertensystems. Diese große Teilungsvielfalt ermöglicht die optimale Anpassung des aufgeteilten Expertensystems an bestehende Rechnernetzwerke. Leistungsstarken Rechnern innerhalb des Rechnernetzwerkes können größere Teil-Junction Trees zugewiesen werden, während leistungsschwache Rechner mit Teil-Junction Trees geladen werden können, die nur wenig Berechnungsaufwand erfordern.Of the with the invention mainly achieved advantage lies thus in the large variability of the division possibilities and the big one Division diversity of the expert system. This great division variety allows the optimal adaptation of the shared expert system to existing ones Computer networks. Powerful computers within the computer network can larger partial junction Trees are allocated while under-performing computers can be loaded with partial-junction trees, which requires little calculation require.

Ein weiterer Vorteil der Erfindung liegt darin, dass die etablierten Berechnungsverfahren, wie z. B. Propagation und Marginalisierung durch die Aufteilung des Junction Trees ihre Lauffähigkeit und Gültigkeit nicht verlieren. In anderen Worten können die bekannten Propagationen und Marginalisierungen auch für geteilte Junction Trees eingesetzt werden. Der Informationsaustausch zwischen zwei geteilten Junction Trees erfolgt hierbei auf der Ebene der Kommunikationsverbindung, die zwischen den beteiligten Recheneinheiten des Rechnernetzwerkes eingerichtet ist. Eine Möglichkeit den Informationsaustausch zwischen zwei Teil-Junction Trees einzurichten, ist der Einsatz eines Token, der zwischen den beiden Recheneinheiten, auf die ein Junction Tree aufgeteilt wurde, ausgetauscht wird. Die Organisation des Informationsaustausches auf der Ebene der Recheneinheiten hat für Anwendungen des Expertensystems den großen Vorteil, dass etablierte Datenbussysteme eingesetzt werden können. Geeignete Datenbussysteme sind z. B. das CAN-Protokoll, das TCP/IP-Protokoll oder das UDP-Protokoll.One Another advantage of the invention is that the established Calculation method, such. B. Propagation and marginalization by the division of the Junction Trees their running ability and validity not lose. In other words, the known propagations and marginalization also for split junction trees are used. The information exchange between two shared junction trees takes place on the plane the communication connection between the participating computational units the computer network is set up. One way to exchange information between Setting up two sub-junction trees is the use of a token, between the two arithmetic units, to which a junction tree was split, is exchanged. The organization of information exchange at the level of the computing units has for applications of the expert system the big one Advantage that established data bus systems can be used. suitable Data bus systems are z. For example, the CAN protocol, the TCP / IP protocol or the UDP protocol.

Im Folgenden wird anhand der Figuren das erfindungsgemäße Expertensystem näher erläutert.in the The expert system according to the invention will now be described with reference to the figures explained in more detail.

Es zeigen:It demonstrate:

1 den Graphen eines Wahrscheinlichkeitsnetzes zur Diagnose und Funktionswiederherstellung von technischen Systemen, 1 the graph of a probability network for the diagnosis and functional recovery of technical systems,

2 den Junction Tree zu 1, 2 to the junction tree too 1 .

3 für den Einsatz des erfindungsgemäßen Expertensystems zur Diagnose und Funktionswiederherstellung, 3 for the use of the expert system according to the invention for diagnosis and functional recovery,

4 schematisch die Aufteilung eines Junction Tree auf verschiedene Recheneinheiten und den Informationsaustausch mittels Token, 4 schematically the division of a junction tree into different arithmetic units and the exchange of information by means of tokens,

5 eine schematische Darstellung zur Organisation des Informationsaustausches in einem Rechnernetzwerk, 5 a schematic representation of the organization of the information exchange in a computer network,

6 ein Schema zur Adressenverwaltung mittels Indextabellen, 6 a schema for address management using index tables,

7 einen Texteditorauszug eines Softwareprogramms zum Teilen eines Junction Trees auf mehrere Rechner, 7 a text editor excerpt of a software program for dividing a junction tree on several computers,

8 einen Bildschirmauszug eines Softwareprogramms zur graphischen Darstellung eines Junction Trees und zur visuellen Begutachtung und Bewertung geeigneter Trennstellen zur Aufteilung des Junction Trees auf mehrere Rechner. 8th a screen shot of a software program for the graphical representation of a junction tree and for the visual inspection and evaluation of suitable separation points for dividing the junction tree on several computers.

Die Abbildung technischer Systeme mittels der Graphentheorie ist bekannt. Jeder Prozessgröße und jeder Variablen des Systems wird hierbei ein Knoten zugewiesen und die Abhängigkeit der Systemvariablen und der Prozessgrößen untereinander wird mit gerichteten Pfeilen, auch Kanten genannt, abgebildet. Es entsteht ein Graph aus Knoten und gerichteten Kanten. In dem Ausführungsbeispiel der 1 ist ein technisches System abgebildet, bei dem mit drei Funktionskomponenten 1, 2, 3 ein Motor 4 angesteuert wird. Jede der Funktionskomponenten 1, 2, 3 ist in dem Graphen mit einem Mode-Knoten 5, mit einem Behaviour-Knoten 6 und einem Steuerungsknoten 7 abgebildet. Den Steuerungsknoten 7 können mit Gebern Input1 und Input2 Steuerbefehle übermittelt werden. Die Funktionskomponente 1 kann z. B. das Türsteuergerät zur Betätigung eines elektrischen Fensterhebermotors in einem Kraftfahrzeug sein. Der Geber Input1 wäre in diesem Fall das Betätigungselement für den elektrischen Fensterhebermotor in der linken Fahrertür. Die Funktionskomponente 2 könnte das Steuergerät für die Zentralverriegelung in einem Kraftfahrzeug sein, während Funktions komponente 3 das Steuergerät einer Diebstahlsicherung oder eines Regensensors ist. Der Geber Input2 wäre dann der entsprechende Sensor, entweder für die Diebstahlsicherung oder für den Regensensor. Die Mode-Knoten 5 der Funktionskomponenten repräsentieren hierbei jeweils die Zustandsvariable jedes Steuergerätes. Mode-Knoten 5 enthält also die Information, ob die zugehörige Funktionskomponente, repräsentative das Steuergerät, ordnungsgemäß arbeitet oder nicht. Im einfachsten Fall enthält Mode-Knoten 5 die Funktion Ein/Aus der zugehörigen Funktionskomponenten. Mit den Steuerungsknoten 7 wird das Verhalten bzw. die Funktion der Funktionskomponenten gesteuert. Die Steuerungsknoten 7 enthalten daher die Information darüber, wie die Funktionskomponente anzusteuern ist. Die durch die Funktionskomponente auszuführenden Funktionen sind mit dem Behaviour-Knoten 6 abgebildet. Die Behaviour-Knoten 6 enthalten daher die Information, in welcher Art und Weise die Steuerungsbefehle aus den Steuerungsknoten 7 auszuführen sind. Den verschiedenen Funktionen eines jeden Steuergerätes bzw. einer jeden Funktionskomponente 1, 2, 3 können noch Risiken und Ziele zugeordnet sein. In dem Graphen der 1 sind deshalb zu jedem Behaviour-Knoten 6 noch jeweils ein Risikoknoten 8 und ein Zielknoten 9 zugeordnet. Auch dem Motor 4 ist ein Zielknoten 9 zugeordnet, mit dem dem Motor ein zu verfolgendes Ziel zugeordnet werden kann.The mapping of technical systems by means of graph theory is known. Each process variable and each variable of the system is assigned a node and the dependency of the system variables and the process variables among each other is represented by directed arrows, also called edges. The result is a graph of nodes and directed edges. In the embodiment of 1 is a technical system shown in which with three functional components 1 . 2 . 3 an engine 4 is controlled. Each of the functional components 1 . 2 . 3 is in the graph with a mode node 5 , with a behavioral node 6 and a control node 7 displayed. The control node 7 can be transmitted with encoders Input1 and Input2 control commands. The functional component 1 can z. B. be the door control unit for operating an electric window motor in a motor vehicle. The encoder Input1 in this case would be the actuator for the power window motor in the left driver's door. The functional component 2 could be the control unit for the central locking in a motor vehicle, while functional component 3 is the controller of an anti-theft device or a rain sensor. The encoder input2 would then be the corresponding sensor, either for the theft protection or for the rain sensor. The fashion knot 5 The functional components in each case represent the states variable of each control unit. Fashion nodes 5 So contains the information as to whether the associated functional component, representative of the control unit, is working properly or not. In the simplest case contains mode node 5 the function On / Off of the associated function components. With the control nodes 7 the behavior or function of the function components is controlled. The control nodes 7 therefore contain the information about how to control the functional component. The functions to be performed by the function component are with the Behavior node 6 displayed. The behavioral nodes 6 Therefore, the information contains, in what manner, the control commands from the control nodes 7 are to be executed. The different functions of each control unit or each functional component 1 . 2 . 3 can still be assigned risks and goals. In the graph of 1 are therefore at every behavioral node 6 one more risk node each 8th and a destination node 9 assigned. Also the engine 4 is a destination node 9 assigned, with which the engine can be assigned to a target to be tracked.

Schon jetzt erkennt man, ohne bereits näher auf die Erfindung eingegangen zu sein, dass es von dem Geber Input 1 mindestens zwei Pfade bis zu dem Motor 4 gibt. Der eine Pfad läuft über die Funktionskomponente 1, der zweite Pfad läuft über die Funktionskomponente 2. Für das bereits eingeführte Ausführungsbeispiel eines elektrischen Fensterhebermotors mit einem Türsteuergerät und einem Steuergerät für eine Zentralverriegelung bedeutet dies, dass der Fensterhebermotor sowohl über das Türsteuergerät als auch über das Steuergerät für die Zentralverriegelung in Gang gesetzt werden kann. Normalerweise würde bei Betätigung des Gebers für den Fensterhebermotor in der linken Fahrertür dieser Fensterhebermotor über das entsprechende Türsteuergerät angesteuert werden. Fällt dieses Türsteuergerät jedoch aus, so gibt es als Rückfallebene für das ausgefallene Türsteuergerät noch die Möglichkeit, den Fensterhebermotor über das Steuergerät für die Zentralverriegelung anzusteuern. In heutigen Fahrzeugen sind die Steuergeräte üblicherweise über ein Bussystem untereinander vernetzt. Steuerbefehle, die an ein Steuergerät über dieses Bussystem übermittelt werden, können daher prinzipiell auch von den anderen Steuergeräten mitgelesen werden. Wenn daher z. B. von dem Geber Input1 ein Steuerbefehl an die Funktionskomponente 1 in das Bussystem eingespeist wird, so gibt es je nach Abhängigkeit der Steuergeräte untereinander eine gewisse Wahrscheinlichkeit dafür, dass der gewünschte Steuerbefehl auch von einer anderen Funktionskomponente innerhalb des Netzwerks umgesetzt werden kann. Diesen Sachverhalt macht sich die Erfindung zu Nutze, indem die funktionalen Abhängigkeiten der einzelnen Komponenten eines technischen Systems mit einem Wahrscheinlichkeitsnetz, nämlich einem Bayesnetz, abgebildet und erfasst werden.Already one recognizes, without being already closer to the invention, that it is input from the encoder 1 at least two paths up to the engine 4 gives. The one path runs through the functional component 1 , the second path is via the functional component 2 , For the already introduced embodiment of an electric window motor with a door control unit and a central locking control unit, this means that the window regulator motor can be set in motion both via the door control unit and via the central locking control unit. Normally, when operating the window motor sender in the left driver's door, this window motor would be controlled via the corresponding door control unit. If this door control unit fails, however, there is still the option of controlling the window regulator motor via the control unit for the central locking as a fallback level for the failed door control unit. In today's vehicles, the control units are usually networked with each other via a bus system. Control commands which are transmitted to a control unit via this bus system can therefore also be read in principle by the other control units. Therefore, if z. B. from the encoder Input1 a control command to the function component 1 is fed into the bus system, so there is depending on the dependence of the control devices with each other a certain probability that the desired control command can also be implemented by another functional component within the network. This fact makes use of the invention by the functional dependencies of the individual components of a technical system with a probability network, namely a Bayes network, are displayed and recorded.

Die Erfindung besteht nun darin, ein Expertensystem anzugeben, mit dem in einem vernetzten technischen System bei Ausfall einer technischen Komponente Ersatzmaßnahmen aufgefunden und umgesetzt werden können, mit denen die Funktion des technischen Systems aufrechterhalten werden kann, obgleich eine Komponente des Systems ausgefallen ist. Dieses Expertensystem muss dabei computerimplementiert selbsttätig ablaufbar sein und die Ersatzmaßnahmen selbsttätig auffinden können.The The invention now consists in specifying an expert system with which in a networked technical system in case of failure of a technical component Alternative measures be found and implemented with which the function of the technical system, although one Component of the system has failed. This expert system must thereby computer-implemented to be automatically executable and the Alternative measures automatic can find.

Zur computerimplementierten Berechnung eignen sich die Graphen von Bayesnetzen, wie z. B. in 1 gezeigt, nicht. Man hat deshalb in der Vergangenheit Transformationsalgorithmen entwickelt, mit denen der Graph eines Bayesnetzes in einen sogenannten Junction Tree, transformiert werden kann. Diese Transformationsalgorithmen hat man zu integrierten Werkzeugen weiterentwickelt, die aus einem vorgegebenen Graphen selbsttätig den zugehörigen Junction Tree berechnen und aufstellen. Ein derartiges Werkzeug wird von der Firma Hugin Expert aus Dänemark, unter dem Namen Hugin Decision Machine, als kommerzielles Softwareprogramm angeboten. Dieses Programm verfügt über eine graphische Benutzeroberfläche, mit deren Hilfe die Graphen von Bayesnetzen auf graphische Weise eingegeben werden können, so dass mit den implementierten Algorithmen die Graphen von Bayesnetzen in die zugehörigen Junction Trees transformiert werden können. Die zur Transformation notwendigen Algorithmen sind in den in der Beschreibungseinleitung genannten Dokumenten näher erläutert und beschrieben. Durch den Transformationsalgorithmus werden jedem Knoten in dem Bayesnetzwerk eine Wahrscheinlichkeitsvariable zugeordnet. Der Transformationsalgorithmus beinhaltet hierbei eine Triangulation des ursprünglichen gerichteten Graphen in einen ungerichteten Graphen sowie in einem weiteren Schritt, einen Optimierungsalgorithmus, der die ganzen Systemvariablen bzw. Wahrscheinlichkeitsvariablen des Systems in sogenannte Cliquen 10 und sogenannte Separatoren 11 zusammenfasst. In 2 sind die Separatoren schraffiert dargestellt. Die Zusammenfassung von Wahrscheinlichkeitsvariablen zu Cliquen sowie die Trennung von je zwei Cliquen durch einen Separator hängt hierbei von den Abhängigkeiten der Wahrscheinlichkeitsvariablen untereinander ab. Separatoreneigenschaft ist es hierbei, dass die Variablen, die zu einem Separator zusammengefasst wurden, die Abhängigkeit zwischen den beiden Cliquen, die der Separator trennt, vollständig beschreibt. Nach dem optimierten Transformationsprozess des ursprünglichen Graphen aus dem Bayesnetz in einen Junction Tree erhält man einen ungerichteten Graphen aus Cliquen und Separatoren, bei dem die Systemgrößen des ursprünglichen technischen System als Wahrscheinlichkeitsvariable vorliegen, wobei die Änderung einer x-beliebigen Wahrscheinlichkeitsvariablen in einer x-beliebigen Clique oder in einem x-beliebigen Separator auf alle anderen Wahrscheinlichkeitsvariablen des Junction Tree propagiert werden kann. Damit kann die Auswirkung einer Zustandsänderung einer Wahrscheinlichkeitsvariablen auf alle übrigen Wahrscheinlichkeitsvariablen des Junction Trees berechnet und bewertet werden. Die hierfür notwendigen Propagationsalgorithmen sind ebenfalls Stand der Technik und bereits in der Hugin Decision Machine implementiert.For computer-implemented calculation, the graphs of Bayesnetzen, such. In 1 not shown. For this reason, transformation algorithms have been developed in the past with which the graph of a Bayesian network can be transformed into a so-called junction tree. These transformation algorithms have evolved into integrated tools that automatically calculate and set up the associated junction tree from a given graph. Such a tool is offered by Hugin Expert of Denmark, under the name Hugin Decision Machine, as a commercial software program. This program has a graphical user interface, with the help of which the graphs of Bayesian networks can be entered graphically, so that with the implemented algorithms the graphs of Bayesian nets can be transformed into the corresponding junction trees. The algorithms necessary for the transformation are explained and described in detail in the documents mentioned in the introduction to the description. The transformation algorithm assigns a probability variable to each node in the Bayes network. The transformation algorithm involves a triangulation of the original directed graph into an undirected graph and, in a further step, an optimization algorithm that includes the system variables or probability variables of the system in so-called cliques 10 and so-called separators 11 summarizes. In 2 the separators are hatched. The combination of probability variables into cliques as well as the separation of two cliques by a separator depends on the dependencies of the probability variables among each other. In this case, the separator property is that the variables that have been combined to form a separator completely describe the dependency between the two cliques that separates the separator. After the optimized transformation process of the original graph from the Bayes network into a junction tree, one obtains an undirected graph of cliques and separators, in which the system sizes of the original technical system as a probability variable, wherein the change of an x-any probability variable in an x-arbitrary clique or in an x-arbitrary separator can be propagated to all other probability variables of the junction tree. Thus, the effect of a state change of a probability variable on all other probability variables of the junction tree can be calculated and evaluated. The necessary propagation algorithms are also state of the art and already implemented in the Hugin Decision Machine.

2 zeigt den Junction Tree, wie er durch Triangulation und Optimierung aus dem Bayesnetz der 1 gewonnen wurde. Der Vorteil des Junction Tree ist es nun, dass er berechenbare Variablen enthält, die das Systemverhalten des zugrundeliegenden technischen Systems beschreiben. Damit wird die automatisierte, computerimplementierte Berechnung von Systemzuständen sowie die Berechnung der Auswirkung von lokalen Zustandsänderungen auf das Gesamtsystem möglich. Die Berechenbarkeit jeder Systemvariablen bzw. jeder Wahrscheinlichkeitsvariablen des Junction Trees und die Eigenschaft der ungehinderten Informationsausbreitung in dem Junction Tree ist eine wichtige Grundlage für die hier beschriebene Erfindung. Betreffend der Funktionskomponenten 1, 2, 3 wurden die ursprünglichen Mode-Knoten, Steuerungsknoten 7 und Behaviour-Knoten 6 durch den Transformationsprozess für jede Funktionskomponente jeweils in eine Mode-Variable Mode1, Mode2, Mode3, eine Steuerungsvariable Set1, Set2, Set3 und eine Verhaltensvariable Behaviour1, Behaviour2, Behaviour3 umgewandelt. Auch alle übrigen Knoten des Graphen aus 1 wurden in Wahrscheinlichkeitsvariablen umgewandelt. 2 shows the junction tree as it is through triangulation and optimization from the Bayesian network 1 was won. The advantage of the junction tree is that it contains computable variables that describe the system behavior of the underlying technical system. This enables the automated, computer-implemented calculation of system states as well as the calculation of the impact of local state changes on the overall system. The predictability of each system variable or probability variable of the junction tree and the property of unrestricted information propagation in the junction tree is an important basis for the invention described herein. Regarding the functional components 1 . 2 . 3 were the original fashion nodes, control nodes 7 and behavioral nodes 6 converted by the transformation process for each functional component in each case into a mode variable Mode1, Mode2, Mode3, a control variable Set1, Set2, Set3 and a behavior variable Behavior1, Behavior2, Behavior3. Also all other nodes of the graph 1 were converted into probability variables.

Nach einer derartigen Vorarbeit sind nun die Grundlagen für das erfindungsgemäße Expertensystem geschaffen. Ein Junction Tree erlaubt nämlich die gezielte Berechnung und Auswertung einzelner Wahrscheinlichkeitsvariablen, die jeweils von Interesse sind. Hat man dafür Sorge getragen, dass jede Funktionskomponente 1, 2, 3 eines technischen Systems durch jeweils drei verschiedene Knoten und damit drei verschiedene Wahrscheinlichkeitsvariablen abgebildet wurde, und beschreibt jede Wahrscheinlichkeitsvariable eine andere Eigenschaft der Funktionskomponente, so können auf der Basis des Junction Tree mit gezielten Berechnungsalgorithmen jeweils drei verschiedene Eigenschaften einer jeden Funktionskomponente berechnet werden. Im Zusammenhang mit der Erfindung interessieren hierbei besonders die Eigenschaften Fehlerzustand der Funktionskomponente, an der Funktionskomponente anliegende Steuerungsmaßnahmen sowie mit der Funktionskomponente mögliche ausführbare Funktionen. Der Fehlerzustand der Funktionskomponente sei hierbei mit der Mode-Variablen abgebildet, die anliegenden Steuerungsmaßnahmen sollen mit der Steuerungsvariablen Set1, Set2, Set3 abgebildet werden und die möglichen ausführbaren Funktionen werden mit der Verhaltensvariablen Behaviour1, Behaviour2, Behaviour3 abgebildet. Dies ermöglicht drei verschiedene, berechenbare Sichten auf jede Funktionskomponente eines größeren Gesamtsystems.After such preliminary work, the foundations for the expert system according to the invention are now created. Namely, a junction tree allows the targeted calculation and evaluation of individual probability variables, which are of interest in each case. Has one ensured that every functional component 1 . 2 . 3 of a technical system by three different nodes and thus three different probability variables was mapped, and each probability variable describes another property of the function component, so can be calculated on the basis of the junction tree with specific calculation algorithms each three different properties of each functional component. In the context of the invention, the characteristics of the fault state of the functional component, control measures applied to the functional component, and possible executable functions with the functional component are of particular interest. The error state of the function component is represented here with the mode variables, the applied control measures are to be mapped with the control variables Set1, Set2, Set3 and the possible executable functions are mapped with the behavior variables Behavior1, Behavior2, Behavior3. This allows for three different, predictable views of each functional component of a larger overall system.

Für die Berechnung eines Diagnoseergebnisses interessiert hierbei die Sicht auf die Mode-Variablen Mode1, Mode2, Mode3, deren Werte eine Aussage über den Fehlerzustand der zugehörigen Funktionskomponente geben. Ändert sich der Zustand einer Wahrscheinlichkeitsvariablen im Junction Tree, so wird die Information über diese Zustandsänderung im Junction Tree pro pagiert und die Auswirkung dieser Zustandsänderung auf alle übrigen Wahrscheinlichkeitsvariablen berechnet. Nach erfolgter Propagation können die Werte der Mode-Variablen Mode1, Mode2, Mode3 durch Marginalisierung berechnet werden. Bei diesem mit Marginalisierung bezeichneten Berechnungsverfahren werden alle die jeweilige Mode-Variable beeinflussenden Wahrscheinlichkeiten aufsummiert, so dass sich für die jeweilige Mode-Variable ein dem jeweiligen Gesamtzustand des technischen Systems entsprechender Wert ergibt. Die Mode-Variable enthält also ein Wahrscheinlichkeitswert über den Fehlerzustand der betreffenden Funktionskomponente. Durch Berechnung der Mode-Variablen erhält man also eine Aussage darüber, welche Funktionskomponenten mit welcher Wahrscheinlichkeit defekt, ausgefallen oder intakt sind. Man erhält mit anderen Worten ein Diagnoseergebnis.For the calculation of a diagnosis result interested in the view of the Mode variables Mode1, Mode2, Mode3, whose values provide information about the Error state of the associated function component give. change the state of a probability variable in the junction tree, so will the information about this change of state paged in the junction tree and the effect of this state change to all other probability variables calculated. After propagation, the values of the mode variables Mode1, Mode2, Mode3 can be calculated by marginalization. at this marginalization calculation method all probabilities influencing the respective mode variable added up, so that for the respective mode variable a the overall state of the corresponding technical value. The mode variable contains So a probability over the error state of the relevant Functional component. By calculating the mode variables you get so a statement about which functional components are defective, with what probability are out of order or intact. In other words, a diagnosis result is obtained.

Setzt man den Wert einer Mode-Variablen oder den Wert mehrerer Mode-Variablen als evident fest, so kann diese Evidenz wiederum im Junction Tree auf alle übrigen Wahrscheinlichkeitsvariablen propagiert werden. Mit der evidenten Festlegung der Mode-Variablen wird eine Aussage über den Fehlerzustand der im technischen Gesamtsystem vorhandenen Funktionskomponenten getroffen. Die Propagation der evident festgesetzten Mode-Variablen im Junction Tree enthält also die Auswirkung eines festgestellten Fehlers auf das technische Gesamtsystem. Die Information darüber, welche Funktionen der einzelnen Funktionskomponenten noch in welchem Maße möglich sind, ist hierbei in den Verhaltensvariablen enthalten. Die Berechnung der Verhaltensvariablen Behaviour1, Behaviour2, Behaviour3 erfolgt wiederum mittels Marginalisierung. Auch hierbei werden die die jeweilige Verhaltsvariable beeinflussenden Wahrscheinlichkeiten aufaddiert. Man erhält also eine Wahrscheinlichkeitsverteilung für die Verhaltensvariablen der einzelnen Teilkomponenten, mit anderen Worten, welches Ver halten, welche Funktionen mit den Funktionskomponenten noch in welchem Maße und mit welcher Wahrscheinlichkeit möglich sind.If the value of a mode variable or the value of several mode variables is determined to be evident, then this evidence can again be propagated in the junction tree to all other probability variables. With the obvious definition of the mode variables, a statement is made about the error state of the functional components present in the overall technical system. The propagation of the evidently defined mode variables in the junction tree thus contains the effect of a detected error on the overall technical system. The information about which functions of the individual function components are still possible and to what extent is contained in the behavioral variables. The behavior variables Behavior1, Behavior2, Behavior3 are again calculated by means of marginalization. Here, too, the probabilities influencing the respective behavioral variable are added up. Thus, one obtains a probability distribution for the behavioral variables of the individual subcomponents, in other words, which behaviors, which functions with the function components are still possible to what extent and with what probability are.

Wurde z. B. die Funktionskomponente 1 als Defekt diagnostiziert und wurde die Mode-Variable Mode1 auf den Wert für 100 % defekt gesetzt, und ergibt sich nach Propagieren der evident festgesetzten Mode-Variablen Mode1 im Junction Tree für die Verhaltensvariable Behaviour1 der zugehörigen Funktionskomponente 1 ein von Null verschiedener Wert für das Funktionieren dieser Funktionskomponente, so existiert eine Wahrscheinlichkeit dafür, dass die Funktionen der ausgefallenen Funktionskomponente 1 durch Ersatzmaßnahmen wieder hergestellt werden kann. Beim Beispiel des bereits angesprochenen elektrischen Fensterhebermotors könnte z. B. ein ausgefallenes Türsteuergerät, das evident als fehlerhaft gesetzt wurde, eine Propagation dieses Fehlers und eine Marginalisierung der Funktion „Fenster schließen" für die Wahrscheinlichkeit, dass die Funktion „Fenster schließen" trotz ausgefallenem Türsteuergerätes noch möglich ist, einen Wert von 50% ergeben. Die Wahrscheinlichkeit, dass ein „Fenster schließen" trotz ausgefallenem Türsteuergerät noch möglich ist, könnte z. B. durch die mögliche Ansteuerung des Fensterhebermotors über das Steuergerät für eine Zentralverriegelung herstammen. Bei einer Marginalisierung der Verhaltensvariablen „Fenster schließen" würde sich dann bei ausgefallenem Türsteuergerät für den Pfad über das Türsteuergerät der Wahrscheinlichkeitswert Null ergeben, für den Pfad über das Steuergerät für die Zentralverriegelung würde sich jedoch weiterhin ein Wert von 100% ergeben, so dass nach erfolgter Marginalisierung und Neunormierung der Verhaltensvariablen „Fenster schließen" sich ein Gesamtwert für diese Verhaltensvariable von 50% ergäbe. Die Aufrechterhaltung der Funktion einer ausgefallenen Komponente ist also möglich und mit dem erfindungsgemäßen Expertensystem berechenbar. Bei dem vorgenannten Beispiel des elektrischen Fensterhebermotors könnte die ausgefallene Funktion des Türsteuergerätes von der Zentralverriegelung übernommen werden.Was z. B. the functional component 1 was diagnosed as a defect and the mode variable Mode1 was set to the value for 100% defective, and results after propagating the evidently established mode variables Mode1 in the junction tree for the behavioral variable Behavior1 of the associated functional component 1 a non-zero value for the functioning of this functional component, there is a probability that the functions of the failed functional component 1 can be restored by replacement measures. In the example of the already mentioned electric window motor z. For example, a fancy door controller that was evidently set faulty, a propagation of that fault, and a marginalization of the close window function for the probability that the close window function is still possible despite the door controller malfunctioning, gives a value of 50% , The probability that a "close window" is still possible in spite of a failed door control unit could, for example, be due to the possible control of the window regulator motor via the central locking control unit. If the behavioral variable "close window" is marginalized, then the door control unit would fail however, for the path through the door controller, the probability value would be zero, but the path through the central locking controller would continue to be 100%, so that after marginalization and re-normalization of the Close Window behavior variable, a total value for that behavior variable will result The maintenance of the function of a failed component is therefore possible and calculable with the expert system according to the invention In the aforementioned example of the electric window motor, the failed function of the door could be rsteuergerätes be taken over by the central locking.

Mit dem erfindungsgemäßen Expertensystem ist es in einer weiteren Ausführungsform nicht nur möglich, die Möglichkeit einer Funktionswiederherstellung zu berechnen und festzustellen, sondern es kann nach einer entsprechenden Zielfindung und nach einer Auswahl aus verschiedenen Wiederherstellungsszenarien auch berechnet und ermittelt werden, mit welchen Ersatzmaßnahmen die Funktionswiederherstellung bzw. die ausgewählten Ziele zu erreichen sind. Ist in dem Ausführungsbeispiel aus 1 und 2 die Funktionskomponente 1 die Ansteuerung einer Drosselklappe eines Verbrennungsmotors, während die Funktionskomponente die Ansteuerung für die Benzinpumpe ist, so kann das bisher berechnete Ergebnis zur Funktionswiederherstellung z. B. die beiden Alternativen aufzeigen, dass der Verbrennungsmotor entweder noch mit einer Leistung von 25 % bei ausgefallener Drosselklappe oder unter anderen Voraussetzungen noch mit einer Leistung von 50 % bei ausgefallener Drosselklappe betrieben werden kann. Die beiden Alternativen 25 %-Leistung bzw. 50 %-Leistung würden sich hierbei aus unterschiedlichen Ersatzmaßnahmen für die ausgefallene Drosselklappe auszeichnen. Bei einem derartigen Szenario ermöglicht das erfindungsgemäße Ausführungsbeispiel in einer Weiterbildung auch die Berechnung und die Ermittlung der für die Zielfindung notwendigen Ersatzmaßnahmen. Wurde ein gewünschtes Verhaltensziel ausgewählt und festgelegt, so liegen damit auch die Verhaltensvariablen als evident fest. Die Informationen über die evident festgelegten Verhaltensvariablen Behaviour1, Behaviour2, Behaviour3 wird im Junction Tree propagiert. Damit sind nun die Mode-Variablen und die Verhaltensvariablen evident festgelegt. Eine Propagation der zuletzt festgelegten Verhaltensvariablen wirkt sich auf die Steue rungsvariablen Set1, Set2, Set3 der einzelnen Funktionskomponenten aus. Die Berechnung dieser Steuerungsvariablen durch Marginalisierung ergibt eine Aussage, mit welchen Steuerungsmaßnahmen das ausgewählte Ziel erreicht werden kann. Für das Beispiel der ausgefallenen Drosselklappe können die Ersatzmaßnahmen z. B. lauten: die Drosselklappe durch Setzen der Steuerungsvariablen auf 100% soweit zu öffnen, wie noch möglich ist und ausgefallene Leistung dadurch zu kompensieren, dass der Motor auf Kosten des Benzinverbrauchs nicht mehr stöchiometrisch betrieben wird, sondern dass durch erhöhte Förderleistung und erhöhte Ansteuerung der Benzinpumpe der Motor mit einem fetten Kraftstoffgemisch betrieben wird. Dies könnte durch eine überproportionale Erhöhung der Steuerungsvariablen Set2 geschehen. Durch Marginalisierung bzw. Berechnung der Steuerungsvariablen ergeben sich also mögliche Ersatzmaßnahmen, mit denen die Funktionen ausgefallener Komponenten zumindest teilweise kompensiert werden können.With the expert system according to the invention, in another embodiment, it is not only possible to calculate and determine the possibility of functional recovery, but it can also be calculated and determined after a corresponding goal determination and a selection from different recovery scenarios, with which replacement measures the function recovery or the selected goals are to be achieved. Is in the embodiment of 1 and 2 the functional component 1 the control of a throttle valve of an internal combustion engine, while the functional component is the control for the gasoline pump, the previously calculated result for functional recovery z. B. show the two alternatives that the engine can be operated either with a power of 25% at failed throttle or other conditions with a power of 50% at failed throttle. The two alternatives 25% power and 50% power would be characterized by different replacement measures for the failed throttle. In such a scenario, the embodiment according to the invention in a further development also enables the calculation and determination of the replacement measures necessary for the target determination. If a desired behavioral goal has been selected and determined, the behavioral variables are also evident. The information about the behavior variables Behaviour1, Behavior2, Behavior3, which are obviously defined, is propagated in the junction tree. Thus, the mode variables and the behavior variables are now clearly defined. A propagation of the last defined behavioral variables affects the control variables Set1, Set2, Set3 of the individual function components. The calculation of these control variables by marginalization gives a statement with which control measures the selected target can be achieved. For the example of the failed throttle, the replacement measures z. For example, the throttle valve can be opened by setting the control variables to 100% as far as is still possible and compensate for failed performance by the fact that the engine is no longer operated stoichiometrically at the expense of gasoline consumption, but that increased output and increased control of Fuel pump, the engine is operated with a rich fuel mixture. This could be done by a disproportionate increase of the control variable Set2. Marginalization or calculation of the control variables thus results in possible replacement measures with which the functions of failed components can be at least partially compensated.

Sind bei einem komplexen System verschiedene Ersatzmaßnahmen möglich, so können die möglichen Ersatzmaßnahmen einer zusätzlichen Bewertung, z. B. in Form einer Kostenrechnung, zugeführt werden und die letztlich zu treffenden, konkreten Ersatzmaßnahmen zur Funktionswiederherstellung von der Bewertung der verschiedenen Ersatzmaßnahmen abhängig gemacht werden. Die letztliche Entscheidung und Auswahl wird auch als Recovery-Entscheidung bezeichnet.are In a complex system different substitute measures possible, so the possible replacement measures an additional one Rating, e.g. B. in the form of a cost accounting, are supplied and the final, concrete replacement measures to be taken for functional recovery from the evaluation of the various Alternative measures dependent be made. The final decision and choice will also referred to as a recovery decision.

Im Folgenden soll anhand von 3 der zuvor beschriebene Prozess zur Funktionswiederherstellung nochmals anhand eines Flussdiagramms zusammengefasst werden. Bei einem technischen System werden mittels Aktuatoren oder Sensoren oder durch Benutzereingaben über eine Schnittstelle Input-Interface-Informationen über die Zustandsänderung eines technischen Systems in das Expertensystem eingegeben. Diese Information über eine eingetretene Zustandsänderung wird in dem Junction Tree, der das technische System abbildet, durch Propagieren auf alle Wahrscheinlichkeitsvariablen ausgedehnt. Zur Erzielung eines ersten Diagnoseergebnisses werden diejenigen Variablen, die über den Fehlerzustand einzelner Funktionskomponenten Auskunft geben können, marginalisiert. In den hier besprochenen Ausführungsbeispielen sind dies jeweils die Mode-Variablen. Das durch Marginalisierung berechnete Diagnoseergebnis wird mittels Look-up-Tabellen zu den verschiedenen Belegungen der Mode-Variablen bewertet. Entsprechend dem Ergebnis der Bewertung erfolgt eine Diagnoseentscheidung. Die Diagnoseentscheidung über den Fehlerzustand einer Funktionskomponente kann hierbei computerimplementiert und automatisiert getroffen werden, indem z. B. eine Funktionskomponente evident als Defekt gesetzt wird, wenn der berechnete Wert der Mode-Variablen für das Vorhandensein eines Fehlers bei über 80% Wahrscheinlichkeit liegt. In diesem Fall könnte die betreffende Mode-Variable z. B. per Diagnoseentscheidung auf 100% Wahrscheinlichkeit für defekt geschätzt werden. Diese Diagnoseentscheidung beinhaltet also das Evidentfestsetzen der Mode-Variablen für die einzelnen zu betrachtenden Funktionskomponenten. Die Information über die evident festgesetzten Mode-Variablen wird wiederum im Junction Tree propagiert. Im nächsten Schritt werden diejenigen Variablen des Junction Tree marginalisiert, die die verschiedenen Funktionszustände der einzelnen Funktionskomponenten abbilden. In den bisher ausgewählten Ausführungsbeispielen sind dies die Verhaltensvariablen. Einzelnen Funktionen des technischen Gesamtsystems können hierbei verschiedene Risiken zuwachsen oder zugeordnet sein. Zum Beispiel kann es in einem Kraftfahrzeug erforderlich sein, dass zum weiteren Betrieb des Fahrzeugs mindestens 80% der Nennbremsleistung gewährleistet sein müssen. Die Belegung der Verhaltensknoten kann also unmittelbare Auswirkung auf die Risiken, mit denen das technische Gesamtsystem noch betrieben werden kann, haben. Deshalb wird bei risikobehafte ten Gesamtsystemen das erfindungsgemäße Expertensystem um Risikoknoten (siehe 1) erweitert. Die Marginalisierung der Verhaltensknoten muss bei diesen risikobehafteten technischen Systemen für die Zielfindung noch auf die Risikoknoten bzw. die Risikovariablen Junction Tree propagiert werden. Die Zielfindung, welche Verhaltensbelegung zur Funktionswiederherstellung wieder ausgewählt werden soll, erfolgt dann bei diesen risikobehafteten Systemen durch Auswertung der Risikovariablen. Ergibt die Auswertung der Risikovariablen z. B. das Ergebnis, dass das technische System unverzüglich stillzulegen ist, so kann diese Systemstilllegung z. B. durch unmittelbares Setzen von Zielvariablen und deren sofortigen Propagieren auf die Steuerungsvariablen der einzelnen Funktionskomponenten erreicht werden. Die Risikoabschätzung kann hierbei über den Risikovariablen zugeordneten Look-up-Tabellen erfolgen. In diesen Look-up-Tabellen ist festgehalten, bei welchen Werten der Risikovariablen, welche Maßnahmen zu treffen sind. Für nicht besonders risikobehaftete technische Systeme können die Risikoknoten und die Goal-Knoten, respektive die Risikovariablen und die Zielvariablen als separat ausgebildete Variablen entfallen. Risiko und Ziel wird – dann mit den Verhaltensvariablen und deren Zustandsbelegungen selbst gefunden und festgesetzt. Zur Zielfindung können deshalb auch in Verhaltensvariablen bzw. deren Belegungen Look-up-Tabellen zugeordnet sein. In diesem Fall können die Look-up-Tabellen Kostenfunktionen abbilden, die bestimmten Zustandsbelegung der Verhaltensvariablen Kosten zuordnen. Durch die Implementierung dieser Kostenfunktion können zu möglichen verschiedenen Belegungen der Verhaltensvariablen die Kosten zugeordnet und berechnet werden und für eine Zielfindung, welche Zustandsbelegung der Verhaltensvariablen auszuwählen ist, herangezogen werden. Eine Zielfindung kann sich z. B. durch Minimierung der Kosten für das Gesamtsystem ergeben. Nach der Zielfindung werden entweder bei risikobehafteten Systemen die Goal-Variablen festgelegt oder bei Systemen, bei denen die Goal-Variablen nicht separat ausgebildet sind, die Verhaltensvariablen festgelegt und anschließend die Informationen über die evident festgelegt Variablen im Junction Tree propagiert. Durch die Marginalisierung der Steuerungsvariablen ergibt sich eine Wahrscheinlichkeitsverteilung für die für die Funktionswiederherstellung zu treffenden Steuerungsmaßnahmen. Stehen für die definierte Zielerreichung mehrere Alternativen für die Belegung der Steuerungsvariablen als Ersatzmaßnahmen zur Verfügung, so kann auch den Steuerungsvariablen in Form einer Look-up-Tabelle eine Kostenrechnung hinterlegt sein. Die letztendliche Recovery-Entscheidung, d. h., welche der vielen möglichen Ersatzmaßnahmen letztlich auszuwählen ist, kann dann durch eine Kostenrechnung erfolgen, z. B. durch Auswahl derjenigen Ersatzmaßnahme, die die niedrigsten Gesamtkosten zur Folge hat. Die getroffene Recovery-Entscheidung wird dann nach Festsetzen der Steuerungsvariablen über eine Systemschnittstelle Output-Interface entweder in direkte Steuerungsbefehle für die betreffenden Funktionseinheiten umgesetzt oder die Recovery-Entscheidung wird als Kundeninformation, z. B. dem Fahrzeugnutzer zur Anzeige gebracht, wobei dann der Kunde aus den möglichen, bereits bewerteten Ersatzmaßnahmen eine ihm geeignete Ersatzmaßnahme zur Funktionswiederherstellung auswählen kann. In dem letztgenannten Fall wird erst nach Auswahl durch den Kunden die getroffene Ersatzmaßnahme durch Steuerungsbefehle an die Funktionseinheiten umgesetzt.The following is based on 3 the function recovery process described above will be summarized again with reference to a flow chart. In a technical system by means of actuators or sensors or by user inputs via an interface input interface information about the state change of a technical system in the Expertensys entered. This change of state information is propagated in the junction tree representing the technical system by propagating to all probability variables. To achieve a first diagnostic result, those variables that can provide information about the error status of individual functional components are marginalized. In the embodiments discussed here, these are each the mode variables. The diagnostic result calculated by marginalization is evaluated by means of look-up tables for the different assignments of the mode variables. According to the result of the evaluation, a diagnosis decision is made. The diagnosis decision about the error state of a functional component can hereby be implemented computer-aided and automated, by z. For example, a function component is evidently set as a defect if the calculated value of the mode variable for the presence of an error is greater than 80% probability. In this case, the relevant mode variable z. B. estimated by diagnostic decision to 100% probability of defect. This diagnostic decision thus includes the setting of the mode variables for the individual functional components to be considered. The information about the obviously set mode variables is in turn propagated in the junction tree. In the next step, those variables of the junction tree are marginalized, which map the different functional states of the individual function components. In the previously selected embodiments, these are the behavioral variables. Individual functions of the overall technical system may involve or be associated with various risks. For example, it may be necessary in a motor vehicle that at least 80% of the nominal braking power must be ensured for further operation of the vehicle. The occupancy of the behavior nodes can therefore have an immediate effect on the risks with which the overall technical system can still be operated. Therefore, in the case of risky overall systems, the expert system according to the invention is provided with risk nodes (see 1 ) expanded. The marginalization of the behavioral nodes must still be propagated to the risk nodes or the risk variables Junction Tree in these risky technical systems for target determination. The determination of the target, which behavior assignment should be selected for functional recovery, then takes place in these risky systems by evaluating the risk variables. If the evaluation of the risk variables z. B. the result that the technical system is shut down immediately, this system shutdown z. B. by setting target variables immediately and their immediate propagation to the control variables of the individual functional components can be achieved. The risk assessment can take place via the look-up tables assigned to the risk variables. These look-up tables specify the values of the risk variables, which measures are to be taken. For technical systems that are not particularly at risk, the risk nodes and the goal nodes, or the risk variables and the target variables, can be omitted as separately developed variables. Risk and goal is - then found and fixed with the behavioral variables and their condition assignments. Therefore, look-up tables can also be assigned to behavioral variables or their assignments. In this case, the look-up tables can map cost functions that assign costs to specific status assignments of the behavior variables. By implementing this cost function, it is possible to allocate and calculate the costs for possible different assignments of the behavior variables and to use them for a goal determination as to which state assignment of the behavior variables is to be selected. A goal finding can be z. B. by minimizing the cost of the overall system. After the goal determination, the goal variables are defined either in risky systems or in systems where the goal variables are not separately developed, the behavior variables are defined and then the information about the evidently defined variables is propagated in the junction tree. The marginalization of the control variables results in a probability distribution for the control measures to be taken for the function recovery. If several alternatives for the assignment of the control variables are available as substitute measures for the defined target achievement, a cost accounting can also be stored for the control variables in the form of a look-up table. The final recovery decision, ie, which of the many possible replacement measures to ultimately select, can then be done by a cost accounting, for. By selecting the replacement measure that will result in the lowest overall cost. The recovery decision made is then implemented after setting the control variables via a system interface output interface either in direct control commands for the functional units concerned or the recovery decision is as customer information, for. B. brought to the vehicle user for display, in which case the customer can choose from the possible, already evaluated replacement measures a suitable replacement measure for function recovery. In the latter case, the replacement measure taken is implemented by control commands to the functional units only after selection by the customer.

4 zeigt eine weitere mögliche Ausführungsform des erfindungsgemäßen Expertensystems, die immer dann in Erwägung gezogen werden kann, wenn ein technisches Gesamtsystem aus mehreren Funktionseinheiten besteht, die jeweils über eigene Rechenkapazität verfügen und untereinander über ein Kommunikationsnetzwerk verbunden sind. Dies ist z. B. bei Steuerge rätenetzwerken, wie sie auch im Kraftfahrzeug eingesetzt werden, durchgängig der Fall. In 4 sind die Steuergeräte mit ECU1, ECU2, ECU3 bezeichnet. Jedes dieser Steuergeräte verfüge über eigene Rechenkapazität und sei an ein Kommunikationsnetzwerk angeschlossen. Nach Abbildung des technischen Systems in einen Graphen eines Bayesnetzwerkes, nach Triangulation des Bayesnetzwerkes und nach Aufstellen des zugehörigen optimierten Junction Trees ist für ein derartiges technisches System mit mehreren vernetzten Steuergeräten eine Parallelisierung und eine Aufteilung der notwendigen Berechnungen auf die einzelnen Steuergeräte möglich. Hierzu wird eine Eigenschaft der Separatoren 11 eines optimierten Junction Tree ausgenutzt. Jeder Separator zweier benachbarter Cliquen enthält alle Informationen über die Abhängigkeit der Wahrscheinlichkeitsvariablen in den durch den Separator getrennten benachbarten Cliquen. Damit kann ein Junction Tree an jedem Separator ohne Informationsverlust aufgetrennt werden, sofern man dafür sorgt, dass die Information an der Trennstelle in beiden entstehenden Teil-Junction Trees zur Verfügung steht. Der Informationsaustausch zwischen zwei getrennten Teilnetzen, die an einem Separator aufgetrennt wurden, kann deshalb in Kommunikationsnetzwerken mit einem sogenannten Token 12 erfolgen, der jeweils den Informationsgehalt des trennenden Separators von dem. ersten Teilnetz auf das sich anschließende Teilnetz überträgt. Da der Junction Tree an jedem Separator aufgeteilt werden kann, kann der Junction Tree im Prinzip in beliebig viele Teil-Junction Trees aufgespalten werden. Zur Informationsübergabe zwischen zwei Teilnetzen wird dann jeweils ein Token 12 eingeführt. Damit können die zur Propagation und zur Auswertung notwendigen Berechnungen durch Aufteilung des Junction Tree auf verschiedene Rechnersysteme, insbesondere Steuergeräte, parallelisiert werden. Vorteilhafterweise teilt man zur Parallelisierung den Junction Tree des Gesamtsystems in eine Anzahl Teilnetze auf, so dass die Anzahl der Teilnetze der Anzahl der für die Parallelisierung eingesetzten Rechnersysteme entspricht. Die Aufteilung und damit die Parallelisierung ist hierbei umso effektiver je weniger Wahrscheinlichkeitsvariablen der für die Trennung ausgewählte Separator enthält. Die Anzahl der Wahrscheinlichkeitsvariablen des trennenden Separators bestimmt wesentlich den Kommunikationsaufwand zwischen den parallelisierten Teilnetzen. Besonders günstig sind daher für eine Parallelisierung diejenigen Separatoren, die am wenigsten Variablen enthalten. 4 shows a further possible embodiment of the Expertensys invention tems that can always be considered when an overall technical system consists of several functional units, each with its own computing capacity and interconnected via a communication network. This is z. B. in Steuerge network devices, as they are also used in motor vehicles, consistently the case. In 4 the controllers are labeled ECU1, ECU2, ECU3. Each of these control units has its own computing capacity and is connected to a communication network. After mapping the technical system into a graph of a Bayes network, after triangulation of the Bayes network and after setting up the associated optimized junction tree, it is possible for such a technical system with several networked control devices to parallelize and divide the necessary calculations onto the individual control devices. For this purpose, a property of the separators 11 exploited an optimized junction tree. Each separator of two adjacent cliques contains all information about the dependence of the probability variables in the adjacent cliques separated by the separator. This allows a junction tree to be separated at each separator without loss of information, provided that the information at the separation point is available in both resulting sub-junction trees. The information exchange between two separate subnetworks which have been separated at a separator can therefore be used in communication networks with a so-called token 12 carried out, each of the information content of the separating separator of the. transfers the first subnetwork to the subsequent subnetwork. Since the junction tree can be split at each separator, the junction tree can in principle be split into any number of sub-junction trees. For information transfer between two subnets then each token 12 introduced. In this way, the calculations required for propagation and evaluation can be parallelized by dividing the junction tree into different computer systems, in particular control devices. For parallelization, it is advantageous to divide the junction tree of the overall system into a number of subnetworks, so that the number of subnetworks corresponds to the number of computer systems used for the parallelization. The division and thus the parallelization is all the more effective in this case the fewer probability variables the separator selected for the separation contains. The number of probability variables of the separating separator substantially determines the communication effort between the parallelized subnetworks. Therefore, those separators which contain the least variables are particularly favorable for parallelization.

5 zeigt eine Möglichkeit den Informationsaustausch zwischen verschiedenen Teilnetzen, die auf verschiedenen Rechnern implementiert sind und berechnet werden, zu organisieren. Man kann davon ausgehen, dass zum Zeitpunkt des praktischen Einsatzes dieser Erfindung ein zentrales Steuergerät das Setzen von Evidenzen regeln wird. Aber da dies nicht sicher ist, wird im Folgenden eine Möglichkeit angegeben, einen Propagationsaufruf von jedem Rechner aus starten zu können. Während einer Propagation müssen, um die globale Konsistenz zu gewährleisten, alle Evidence-Setzungen blockiert sein. Ein weiteres Problem tritt auf, wenn zwei oder mehrere Rechner zum selben Zeitpunkt eine globale Aktion ausführen wollen. Um diese beiden Probleme zu lösen, wird ein Informationsaustausch mittels Token etabliert. Ein sogenannter Parent-Rechner kontrolliert die Vergabe dieses Token. Jeder Rechner kann diesen Token bei dem Parent-Rechner anfragen und der Parent-Rechner entscheidet über die Vergabe des Token. Am Ende gibt der anfragende Rechner den Token an den Parent-Rechner zurück und dieser kann dann den Token weiter vergeben. Grundsätzlich muss jeder Rechner den Token besitzen, bevor er einen globalen Reset fordern kann, eine Propagation starten will oder eine Evidence auf einer schon instantiierten Variablen ändern will. Nach jeder Evidence-Setzung muss eine Pro pagation gestartet werden, um den Gesamt-Junction Tree global konsistent zu machen. Es besteht aber durchaus die Möglichkeit erst nach mehreren Evidence-Setzungen zu propagieren. 5 shows a way to organize the exchange of information between different subnets that are implemented and calculated on different computers. It can be assumed that at the time of the practical application of this invention, a central controller will regulate the setting of evidence. But since this is not certain, the following provides a way to start a propagation call from any computer. During propagation, to ensure global consistency, all evidence needs to be blocked. Another problem occurs when two or more computers want to perform a global action at the same time. In order to solve these two problems, an exchange of information via tokens will be established. A so-called parent computer controls the allocation of this token. Each computer can request this token at the parent computer and the parent computer decides on the award of the token. At the end of the requesting computer returns the token to the parent calculator and this can then assign the token on. Basically every computer has to own the token before it can request a global reset, start a propagation or change an evidence on an already instantiated variable. After each Evidence setting, a Propagation must be started to make the overall junction tree globally consistent. However, it is quite possible to propagate only after several evidences.

Bevor eine Propagation gestartet werden kann, muss zuerst der Token angefragt werden. Wenn der Parent-Rechner diesen vergibt, schickt er jedem Rechner die Nachricht mit der Information über den Besitzer des Token und fordert alle auf, vorerst keine weiteren Evidence-Setzungen zuzulassen und alle laufenden zu beenden. Der Rechner, welcher im Besitz des Token ist, schickt nun an alle anderen Rechner die Nachricht: „Starte Propagation". Dies hat zur Folge, dass alle die sogenannte „Collect-Evidence"-Phase beginnen. Dieser Algorithmus läuft beim verteilten Propagieren nicht mehr rekursiv ab. Das Einsammeln der Information kann man sich wie ein einstürzendes Kartenhaus vorstellen; eine Etage stürzt genau dann ein, wenn nur noch eine Karte steht. Jede stürzende Karte reißt genau eine weitere Karte einer unteren Etage mit sich. Die Collect-Evidence-Phase ist beendet, wenn alle Karten eingestürzt sind. Das Verteilen der Propagation lässt sich wie folgt bildlich erfassen. Jeder Teil-Junction Tree stellt ein eigenständiges Kartenhaus dar, wobei der komplette Einsturz eines Hauses zur Folge hat, dass bei einem der benachbarten Häuser eine weitere Karte umfällt, es sei denn, es ist das letzte Haus. Jede Karte entspricht einem Verbindungsstartpunkt bzw. -endpunkt einer Clique. Ein Informationsaustausch zwischen zwei Cliquen hat zur Folge, dass die der Verbindung entsprechenden beiden Karten einstürzen. Das heißt, jede Clique schickt genau dann eine Bestätigung, eine Information erhalten zu haben, einen sogenannten Messagepass, wenn sie nur noch eine Nachbarclique hat, von der sie noch keinen Messagepass erhalten hat. Eine Ausnahme muss es geben: die Startclique selbst schickt nie einen Messagepass, sondern wird immer von allen Nachbarn einen Messagepass erhalten. Hat die Start clique von allen übrigen Cliquen einen Messagepass erhalten, ist die Collect-Evidence-Phase für alle Rechner beendet. Erhält eine Clique einen Messagepass erhöht sie ihren Messagepass-Zähler um 1. Ist die letzte Clique mit ausstehendem Messagepass nicht auf dem Parent-Rechner, so wird der letzte Messagepass zu ihrer Nachbarclique auf einem anderen Rechner geschickt. Erhält eine Clique einen Messagepass von einem anderen Rechner, wird dieser genauso gehandhabt, wie der Messagepass von einer Clique desselben Teil-Junction Trees. In diesem Fall ist der Parent-Rechner immer der letzte, der die Collect-Evidence-Phase beendet. Der Parent-Rechner startet dann die „Distribute-Evidence"-Phase.Before a propagation can be started, the token must first be requested. If the parent computer forgives this, it sends the message to each computer with the information about the owner of the token and asks everyone, for the time being to allow any further evidence subscribtion and terminate all running. The computer, which is in the possession of the token, now sends the message to all other computers: "Start propagation." As a result, all of them begin the so-called "Collect Evidence" phase. This algorithm no longer runs recursively in distributed propagation. Collecting the information can be thought of as a collapsing house of cards; a floor collapses just when only one card is left. Each falling card carries exactly one more card of a lower tier. The Collect Evidence phase is over when all cards have collapsed. The distribution of the propagation can be captured as follows. Each partial junction tree is a stand-alone house of cards, with the complete collapse of a house resulting in one of the neighboring houses falling over another card, unless it is the last house. Each card corresponds to a connection start point or endpoint of a clique. An exchange of information between two cliques has the consequence that the two cards corresponding to the connection fall. That is, each clique sends a confirmation to have received information, a so-called message pass, if it has only a neighboring clique, from which they have not yet received a message pass. There must be one exception: the startclique itself never sends a messagepass but will always receive a messagepass from all neighbors. If the start clique has received a message pass from all other cliques, the Collect Evidence phase is over for all computers. If a clique receives a message pass, it increases its message pass counter by 1. If the last clique with a pending message pass is not on the parent machine, the last message pass to its neighbor clique is sent to another computer. If a clique receives a messagepass from another machine, it will be handled the same way as the messagepass from a clique of the same sub-junction tree. In this case, the parent calculator is always the last to complete the Collect Evidence phase. The parent calculator then starts the "Distribute Evidence" phase.

Alle Rechner, bis auf den Parent-Rechner, welcher die Collect-Evidence-Phase beendet hat, warten auf einen Messagepass. Erst wenn sie diesen erhalten haben, starten sie die Distribute-Evidence-Phase. Ausgehend von der Startclique beginnt der Parent-Rechner mit dem Messagepassing zum ersten Nachbar der Startclique. Diese Nachbarclique schickt nun einen Messagepass weiter zu ihrem ersten Nachbarn, von dem sie noch keinen Messagepass erhalten hat. Der Messagepass wird weitergeschickt von Nachbar zu Nachbar, so lange bis ein Nachbar keinen weiteren Nachbarn mehr hat, der noch keinen Messagepass erhalten hat. Tritt dies ein, geht der rekursive Distributions-Algorithmus einen Schritt zurück und der letzte Nachbar, der schon mal einen Messagepass geschickt hat, schickt einen Messagepass weiter an seinen zweiten Nachbarn und dieser schickt dann wieder an seinen zweiten Nachbarn einen Messagepass, bis dieser dann keine weiteren zweiten Nachbarn mehr hat. So schickt jede Clique einen Messagepass an seine Nachbarcliquen. Haben alle Cliquen einen Messagepass erhalten, ist die Distribute-Evidence-Phase beendet. In jedem Fall, dass ein Messagepass an eine Clique auf einem Parallelrechner geht, wird der Messagepass über die Kommunikations schnittstelle gesendet und dann gleich der nächste. Nachbar gesucht. An dieser Stelle ist die Propagation auf einem Rechner beendet und der Rechner kann seinen Token zurückgeben und signalisiert das allen anderen Rechnern. Der Parent-Rechner vergibt dann den Token an den nächsten Rechner, auf dem die Propagation weitergeführt wird.All Calculator, except for the parent calculator, which the Collect Evidence phase has finished, waiting for a message pass. Only when they receive this Start the Distribute Evidence Phase. Starting from the startclique begins the parent computer with the messagepassing to first neighbor of the start clique. This neighboring clique sends now a message pass on to their first neighbor, of whom they are still has not received a message pass. The message pass will be forwarded from neighbor to neighbor, as long as a neighbor no further Neighbors have more who has not received a message pass. kick this, the recursive distribution algorithm takes a step back and the last neighbor who has ever sent a message pass has sent a message pass to his second neighbor and he then sends a message pass to his second neighbor, until he has no further second neighbors. So send Each clique sends a message pass to its neighboring cliques. Have everyone Cliques get a message pass is the Distribute Evidence phase completed. In any case, that's a messagepass to a clique on a parallel computer goes, the message passport via the communication interface sent and then the next one. Neighbor wanted. At this point the propagation is on one Calculator stops and the calculator can return its token and signals this to all other computers. The parent calculator forgives then the token to the next Computer on which the propagation is continued.

Der Messagepass läuft nach dem zuvor beschriebenen Algorithmus ab. Es hat sich jedoch herausgestellt, dass bei großen Junction Trees die Wahrscheinlichkeitspotentiale numerisch instabil werden. Die Wahrscheinlichkeitspotentiale werden mittels Gleitkommazahlen gespeichert. Die Anzahl der Einträge in die Potentialtabellen der Wahrscheinlichkeitspotentiale wächst exponentiell mit der Anzahl der Variablen in einer Clique. Die zu speichernden Werte sind von Natur aus sehr klein. Diese drei eben genannten Voraussetzungen und das Wissen darüber, dass während einer Informationsverteilung mehrere Multiplikationen ausgeführt werden, können dazu führen, dass die Wahrscheinlichkeitswerte in den Potentialtabellen divergieren oder zu Null werden, was zwangsläufig im Zuge einer Propagation alle Werte für die anderen Wahrscheinlichkeitsvariablen mitreißt. Um dies abzufangen, wird nach jedem Messagepass die Summe aller Wahrscheinlichkeitspotentiale der empfangenden Clique auf 1 nummeriert. Ein Messagepass zwischen Cliquen auf verschiedenen Rechnern läuft genau nach demselben Schema ab. Die einzige Besonderheit liegt darin, dass der trennende Separator verdoppelt wird und die Potentialtabelle des neuen Separators über die Kommunikationsschnittstelle auf den Rechner mit der empfangenden Clique gruppiert wird. Alle weiteren Schritte laufen dann auf den Parallelrechner ab.Of the Messagepass is running according to the algorithm described above. It has, however that proved at large Junction Trees the probability potentials are numerically unstable. The probability potentials are determined by floating-point numbers saved. The number of entries in the potential tables The probability potential grows exponentially with the number of Variables in a clique. The values to be stored are natural from very small. These three prerequisites just mentioned and that Knowledge about that while an information distribution multiple multiplications are executed can do that to lead, that the probability values in the potential tables diverge or become zero, which inevitably in the course of a propagation all values for the other probability variables entraining. To intercept this, after each message pass the sum of all Probability potentials of the receiving clique numbered to 1. A message pass between cliques on different machines is running exactly according to the same scheme. The only special feature is that the separating separator is doubled and the potential table of the new separator the communication interface on the computer with the receiving Clique is grouped. All further steps then run on the Parallel computer off.

Die Wahrscheinlichkeiten einzelner Zustände der Wahrscheinlichkeitsvariablen werden nicht direkt im Junction Tree ge speichert, sondern liegen in Form von Verbundwahrscheinlichkeitstabellen in den Cliquen vor. Die Wahrscheinlichkeit es zu berechnenden Zustandes, erhält man dann durch das Marginalisieren dieses Zustandes aus einer solchen Tabelle. Für die Marginalisierung einer Wahrscheinlichkeitsvariablen ist keine Kommunikation mit anderen Rechnern nötig, da sich die Wahrscheinlichkeitsvariable und deren Clique immer auf demselben Rechner befindet. Der Marginalisierungsalgorithmus summiert die Verbundwahrscheinlichkeiten der Nachbarcliquen, welche den zu marginalisierenden Zustand enthalten, auf.The Probabilities of individual states of the probability variables are not stored directly in the junction tree but are located in the form of compound probability tables in the cliques. The probability of it to be calculated state, then you get by marginalizing this state from such a table. For the marginalization A probability variable is not communicating with other computers necessary, because the probability variable and their clique are always on same computer. The marginalization algorithm sums the Composite probabilities of neighboring cliques, which are marginalizing State included.

6 zeigt eine schematische Darstellung für die Adressenverwaltung bei der Aufteilung eines Junction Trees auf mehrere Rechner. Im Verlauf des Teilungsalgorithmus werden die Teil-Junction Trees erstellt und zu jedem Teil-Junction Tree drei Indextabellen generiert. In diesen Tabellen wird abgelegt, auf welchem Rechner und an welcher Position des Teil-Junction Trees man jede Clique, jeden Separator, jede Variable des ungeteilten Junction Trees finden kann. Bevor ein Teilbaum eingelesen wird, wird zunächst ein Overhead eingelesen, d. h. Informationen über das Rechnernetzwerk, insbesondere über den Parent-Rechner, die Art und Weise des Messagepassing, die Adressen aller Rechner und die Board Identifier. Danach werden drei Indextabellen eingelesen, die den lokalen und den globalen Junction Tree aufeinander abbilden. Im Anschluss wird der Teil-Junction Tree genau wie ein ungeteilter Junction Tree eingelesen. Während der Initialisierung müssen alle Teil-Junction Trees ihre Optimierungstabellen erstellen und die Wahrscheinlichkeitstabellen auffüllen. Um den globalen Junction Tree zu initialisieren, muss als letztes nur noch eine Propagation gestartet werden, welche ihn global konsistent macht. Die Initialisierung der Teil-Junction Trees erfolgt in derselben Art und Weise, wie es bei einem ungeteilten Junction Tree erfolgt. Es muss nur die Abbildung der Cliquen, Separatoren und variablen Indices von global auf lokal berücksichtigt werden. 6 shows a schematic representation of the address management when dividing a junction tree on several computers. In the course of the splitting algorithm, the sub-junction trees are created and three index tables are generated for each sub-junction tree. These tables show on which machine and at which position of the sub-junction tree one can find each clique, each separator, each variable of the undivided junction tree. Before a subtree is read in, an overhead is first read in, ie information about the computer network, in particular about the parent computer, the manner of message passing, the addresses of all computers and the board identifier. Then, three index tables are read in, which map the local and the global junction tree to each other. The sub-junction tree then becomes just like an undivided junk tion tree read. During initialization, all sub-junction trees must create their optimization tables and populate the probability tables. To initialize the global junction tree, the last thing to do is start a propagation that makes it globally consistent. The initialization of the sub-junction trees is done in the same way as an undivided junction tree. Only the mapping of cliques, separators and variable indices from global to local needs to be considered.

Das letztendliche Splitprogramm liest einen Junction Tree in Form eines Binärcodes ein. Es erfragt, auf wie viele Rechner verteilt werden soll, an welchen Separatoren geteilt werden soll, welcher Port für die Kommunikation verwendet wird und wie die IP-Adressen der einzelnen Rechner lauten. Zuletzt speichert dann das Splitprogramm die Teil-Junction Trees in separaten Dateien. Ein Editorauszug des Splitprogramms ist in 7 dargestellt.The final split program reads a junction tree in the form of a binary code. It asks on how many computers should be distributed, on which separators should be shared, which port is used for communication and what the IP addresses of the individual computers are. Finally, the split program then saves the sub-junction trees in separate files. An editor extract of the split program is in 7 shown.

8 zeigt einen Bildschirmabzug einer graphischen Benutzeroberfläche für das Splitprogramm zur Aufteilung eines Junction Trees. Vorteilhafterweise wird ein Junction Tree genau zwischen zwei benachbarten Cliquen geteilt und der zwischen zwei Cliquen befindliche Separator, in der Fachsprache auf SepSet genannt, dupliziert und den beiden Teil-Junction Trees mitgegeben. Das ermöglicht es, den Netztrafic auf dem Kommunikationsnetz während eines Messagepass gering zu halten, da nur die neue Potentialtabelle des trennenden Separators über das Netzwerk geschickt werden muss. Die Potentialtabelle eines Separators ist von Natur aus viel kleiner als die Potentialtabelle einer der beiden benachbarten Cliquen, denn Separatoren bestehen nur aus der Schnittmenge der Variablen der benachbarten Cliquen. 8th shows a screen shot of a graphical user interface for the split program for dividing a junction tree. Advantageously, a junction tree is split exactly between two adjacent cliques, and the separator located between two cliques, called in technical jargon on SepSet, is duplicated and given to the two sub-junction trees. This makes it possible to minimize the netrafic on the communication network during a message pass, since only the new potential table of the separating separator has to be sent over the network. The potential table of a separator is inherently much smaller than the potential table of one of the two neighboring cliques, since separators consist only of the intersection of the variables of the neighboring cliques.

Doch bevor man den Junction Tree teilt, muss man sich erst Gedanken machen, an welchem Separator man den Junction Tree teilen sollte, um zumindest die Speicher der Recheneinheit optimal ausnutzen zu können. Dieses Problem ist nicht trivial, da der Junction Tree nur rekursiv durchlaufen werden kann. Man könnte hier, ausgehend von jedem möglichen Separator ermitteln, wie viele Cliquen rechts und links an dem Se parator hängen und so den optimalen Separator für die Aufteilung bestimmen. Besser wäre es, man startet nur von den Randcliquen aus und durchläuft den Baum. Dann kann man, nachdem die Hälfte der Cliquen (im Falle einer Zweiteilung) eingesammelt sind, stoppen und wenn dann alle Cliquen und deren Nachbarcliquen bis auf genau eine Nachbarclique in einem Baum zusammengefasst sind, könnte man den Teilungsversuch als Erfolg werten, andernfalls muss man. mit einer neuen Randclique beginnen.But before you divide the junction tree, you have to think first, at which separator one should divide the junction tree, at least to be able to optimally utilize the memory of the arithmetic unit. This Problem is not trivial because the junction tree is only recursive can be. You could here, starting from every possible one Separator determine how many cliques on the right and left of the separator hang and so the optimal separator for determine the breakdown. It would be better, you start only from out and traverses the fringe cliques the tree. Then you can, after half of the cliques (in the case a bipartition) are collected, stop and then if all Cliques and their neighboring cliques except for exactly one neighboring clique summarized in a tree, one could try the division as a success, otherwise you have to. with a new edge clique kick off.

Weit komplexer wird dieses Problem für das Teilen in n-beliebige Teile. Hier verzichtet die Erfindung auf die Implementation eines Teilungsalgorithmuses. Stattdessen bietet die Erfindung mit einer graphischen Benutzeroberfläche, auf der der Junction Tree als Ganzes mit all seinen Cliquen 10 und all seinen Separatoren 11 graphisch zur Anzeige gebracht wird. Diese graphische Benutzeroberfläche ist die Grundlage für ein subjektives Teilungsverfahren, bei dem der verständige Anwender die Unterteilung des Junction Trees in Teil-Junction Trees durch Auswahl geeigneter Separatoren für die Trennung vornimmt. Die Auswahl der für die Trennung geeigneten Separatoren kann hierbei z. B. durch Mausklick oder durch Eingabe einer den Separator bezeichnenden Ordnungsnummer vorgenommen werden. Bei der Überlegung, welche Separatoren für eine Trennung geeignet sind, lässt sich der verständige Anwender von verschiedenen Überlegungen leiten. Zum einen kann er die Aufteilung des Junction Trees derart vornehmen, dass in jedem Teil-Junction Tree möglichst gleich viele Separatoren und Cliquen enthalten sind. Sind die Rechenleistungen der Recheneinheiten, auf die der Junction Tree aufgeteilt werden soll, extrem unterschiedlich, so kann der verständige Anwender die Aufteilung des Junction Trees derart vornehmen, dass den Recheneinheiten mit großer Rechenleistung ein größerer Teil-Junction Tree zugewiesen wird, während den Recheneinheit mit weniger Rechenleistung kleinere Teil-Junction Trees zugewiesen werden. Sind die Rechenleistungen der beteiligten Recheneinheiten in ihrem Verhältnis zueinander bekannt, so kann der verständige Anwender dem Junction Tree, was die Anzahl der Cliquen und Separatoren angeht, in dem gleichen Verhältnis aufteilen, wie es den verhältnismäßigen Rechenleistungen der beteiligten Recheneinheiten entspricht.This problem becomes much more complex for splitting into arbitrary parts. Here, the invention dispenses with the implementation of a division algorithm. Instead, the invention features a graphical user interface on which the junction tree as a whole with all its cliques 10 and all his separators 11 graphically displayed. This graphical user interface is the basis for a subjective sharing process in which the reasonable user makes the subdivision of the junction tree into sub-junction trees by selecting suitable separators for the separation. The selection of separators suitable for the separation can here z. B. be made by mouse click or by entering a separator designating ordinal number. When considering which separators are suitable for separation, the intelligent user is guided by various considerations. On the one hand, he can make the division of the junction tree such that as many separators and cliques as possible are contained in each sub-junction tree. If the computing power of the arithmetic units to which the junction tree is to be divided is extremely different, then the intelligent user can make the division of the junction tree such that the arithmetic units are assigned a larger sub-junction tree with great computing power, while the arithmetic unit has less processing power to be assigned to smaller sub-junction trees. If the computational powers of the computation units involved are known in relation to one another, then the intelligent user can divide the junction tree into the same ratio as far as the number of cliques and separators is concerned, as it corresponds to the relative computing powers of the computation units involved.

Für die Auswahl einer geeigneten Kommunikationsschnittstelle wird sich der Anwender von folgenden Überlegungen leiten lassen. Wichtig für die Entscheidung sind die Kriterien der Zukunftsaussichten des Einsatzes im Kraftfahrzeugbereich, der Realisierungsaufwand sowie allgemeine Güterichtlinien, wie Geschwindigkeit, Bandbreite, Übertragungssicherheit und Flexibilität. Zum Zeitpunkt der Erfindung kommen hierbei folgende Bussysteme in Frage: das CAN-Protokoll, die Ethernet-Kommunikation, mit der Wahl zwischen dem TCP-Protokoll oder dem UDP-Protokoll.For the selection A suitable communication interface will be the user from the following considerations to be guided. Important for the decision is the criteria of the future prospects of the mission in the automotive sector, the implementation costs and general Property guidelines, such as Speed, bandwidth, transmission security and flexibility. At the time of the invention in this case the following bus systems come in Question: the CAN protocol, the Ethernet communication, with the choice between the TCP protocol or the UDP protocol.

Das CAN-Protokoll hat den Vorteil, der Möglichkeit zum direkten Zugriff auf den Übertragungsbus, d. h. man erspart sich. den Zeitverlust beim Durchlaufen durch die ganzen unteren Protokollschichten. Dies bringt viele Vorteile bei kurzen Befehlsnachrichten. Die Nachteile des CAN-Protokolls liegen:

  • 1. in der relativ kleinen Bandbreite von 1 Mbit pro s,
  • 2. man hat nur sehr kleine Datenrahmen von 8 Byte pro Paket, diese würden für einen Messagepass bis zu mehreren hundert Paketen entsprechen, die alle ihr Ziel erreichen müssen,
  • 3. man muss sicherstellen, dass gesendete Daten den Empfänger auch erreichen, d. h. eine Acknowledge-Funktion muss für jede Nachricht implementiert werden,
  • 4. bei hohem Datendurchsatz durch andere Steuergeräte würden sicherlich viele Pakete verworfen werden (aufgrund der niedrigen Priorität eines Diagnosetools im Kraftfahrzeug), so dass während einer Propagation lange Leerlaufzeiten auftreten können.
The CAN protocol has the advantage of the possibility of direct access to the transmission bus, ie you save yourself. the loss of time when going through the whole lower protocol layers. This brings many advantages with short command messages. The disadvantages of the CAN protocol are:
  • 1. in the relatively small bandwidth of 1 Mbit per second,
  • 2. one only has very small data frames of 8 bytes per packet, these would correspond to a message pass up to several hundred packets, all of which must reach their destination,
  • 3. It must be ensured that transmitted data reach the receiver as well, ie an acknowledge function must be implemented for each message.
  • 4. With high data throughput by other controllers certainly many packages would be discarded (due to the low priority of a diagnostic tool in the vehicle), so that during a propagation long idle times can occur.

Bei der Auswahl der Ethernet-Kommunikation vertauschen sich die beim CAN-Protokoll genannten Vor- und Nachteile. Bei der Ethernet-Kommunikation hat man zwei grundlegende Möglichkeiten. Zur Adressierung empfiehlt sich das IP-Protokoll, bleibt nur noch die Wahl zwischen TCP oder UDP. Verwendet man UDP spart man sich die Zeit für den Connect-Aufruf, dies ist vor allem bei kurzen Botschaften von Vorteil. Zum anderen muss man trotzdem noch den Empfang garantieren, d. h. quittieren. TCP hingegen erfüllt alle nötigen Sicherheitskriterien, bringt aber den maximalen Zeit-Overhead durch Verbindungsaufbau und Verbindungsabbau mit sich. Am wichtigsten während des Betriebs des Expertensystems ist die Garantie, dass die versendeten Daten korrekt, in richtiger Reihenfolge und Anzahl ankommen, so dass hier das TCP/IP-Protokoll als Kommunikationsschnittstelle große Vorteile hat.at the selection of the Ethernet communication interchange with the CAN protocol mentioned advantages and disadvantages. In Ethernet communication you have two basic options. For addressing the IP protocol is recommended, only remains the choice between TCP or UDP. Uses UDP saves you the time for the Connect call, this is especially for short messages from Advantage. On the other hand, you still have to guarantee the reception, d. H. Acknowledge. TCP meets all the necessary security criteria but brings the maximum time overhead by connecting and disconnection. Most important during the operation of the expert system is the guarantee that the data sent correctly, in the right way Order and number arrive, so here's the TCP / IP protocol as a communication interface has great advantages.

Claims (11)

Bayesnetz-basiertes Expertensystem, bei dem – in mindestens einer elektronischen Recheneinheit eine Wissensbasis, eine Modellstruktur in Form eines Junction Tree und ein Propagationsalgorithmus implementiert sind, wobei der Junction Tree aus Cliquen, Separatoren und Verbindungen besteht, die Cliquen und Separatoren hierbei Wahrscheinlichkeitsvariablen enthalten und die Verbindungen die Abhängigkeit der Wahrscheinlichkeitsvariablen in den Cliquen von den Wahrscheinlichkeitsvariablen in den Separatoren repräsentieren, – und der Propagationsalgorithmus die Auswirkung einer Zustandsänderung einer Wahrscheinlichkeitsvariablen auf alle Wahrscheinlichkeitsvariablen des Junction Tree propagiert, dadurch gekennzeichnet, dass der Junction Tree des technischen Gesamtsystems in mindestens zwei Teil-Junction Trees aufgeteilt ist und die Systemberechnungen in den Teil-Junction Trees auf mindestens zwei Recheneinheiten, die unter einander in Kommunikationsverbindung stehen, aufgeteilt sind.Bayesian network-based expert system, in which - in at least one electronic processing unit, a knowledge base, a model structure in the form of a junction tree and a propagation algorithm are implemented, the junction tree consists of cliques, separators and connections, the cliques and separators here contain probability variables and the Compounds represent the dependence of the probability variables in the cliques of the probability variables in the separators, and - the propagation algorithm propagates the effect of a state change of a probability variable on all probability variables of the junction tree, characterized in that the junction tree of the overall technical system in at least two sub-junction Trees is divided and the system calculations in the sub-junction trees on at least two computing units that are in communication with each other, are divided. Expertensystem nach Anspruch 1, dadurch gekennzeichnet, dass die Propagation der Information durch den Junction Tree auf mehrere Recheneinheiten aufgeteilt ist.Expert system according to claim 1, characterized that the propagation of the information through the junction tree several computing units is divided. Expertensystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Marginalisierung einer Wahrscheinlichkeitsvariablen auf mehrere Recheneinheiten aufgeteilt ist.Expert system according to claim 1 or 2, characterized that the marginalization of a probability variable several computing units is divided. Expertensystem nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Aufteilung des Junctions Trees des technischen Gesamtsystems jeweils an einem der Separatoren erfolgt.Expert system according to one of claims 1 to 3, characterized in that the division of the junction trees of the overall technical system takes place in each case on one of the separators. Expertensystem nach Anspruch 4, dadurch gekennzeichnet, dass die Aufteilung des Junction Trees des technischen Gesamtsystems jeweils an einem der Separatoren erfolgt und der Separator der Trennstelle dupliziert wird und jedes Teilsystem einen der duplizierten Separatoren enthält.Expert system according to claim 4, characterized that the division of the junction tree of the overall technical system each carried out on one of the separators and the separator of the separation point and each subsystem duplicates one of the duplicated separators contains. Expertensystem nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass der Informationsaustausch zwischen den aufgeteilten Junction Trees mittels Token erfolgt.Expert system according to one of claims 1 to 5, characterized in that the information exchange between the split junction trees by token. Expertensystem nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die Kommunikationsverbindung zwischen den Recheneinheiten ein Datenbussystem auf der Basis eines CAN-Protokolls, eines TCP/IP-Protokolls oder eines UDP-Protokolls ist.Expert system according to one of claims 1 to 6, characterized in that the communication link between the computing units a data bus system based on a CAN protocol, a TCP / IP protocol or a UDP protocol. Expertensystem nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass bei der Aufteilung des Junction Trees für das Gesamtsystem, die Anzahl der Cliquen über die einzelnen Teil-Junction Trees möglichst gleichverteilt sein soll.Expert system according to one of claims 1 to 7, characterized in that in the division of the junction Trees for the total system, the number of cliques across each sub-junction tree preferably should be equally distributed. Expertensystem nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass bei der Aufteilung des Junction Trees für das Gesamtsystem die Anzahl der Wahrscheinlichkeitsvariablen in jedem Teil-Junction Tree möglichst gleich groß ist.Expert system according to one of claims 1 to 7, characterized in that in the division of the junction Trees for the total system the number of probability variables in every sub-junction tree as possible is the same size. Expertensystem nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass bei der Aufteilung des Junction Trees für das technische Gesamtsystem die Größe der Teil-Junction Trees sich nach der Rechenleistung der Recheneinheiten, auf die die Teil-Junction Trees aufgeteilt werden, richtet.Expert system according to one of claims 1 to 7, characterized in that in the division of the junction Trees for the overall technical system is the size of the sub-junction trees according to the computing power of the computing units to which the sub-junction Trees are split. Expertensystem nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass bei der Aufteilung des Junction Trees für das technische Gesamtsystem auf die vorgesehenen Recheneinheit die Anzahl der Wahrscheinlichkeitsvariablen pro Teil-Junction Tree in Relation zu der Speicherkapazität der vorgesehenen Recheneinheiten für jedes Teilnetz möglichst den gleichen Wert hat.Expert system according to one of claims 1 to 7, characterized in that when dividing the junction tree for the overall technical system to the provided arithmetic unit, the number of probability variables per sub-junction tree in relation to the storage capacity of the provided arithmetic units for each subnet if possible has the same value.
DE10332203A 2003-07-16 2003-07-16 Distributed Bayes network based expert system e.g. for vehicle diagnosis and functional restoring, has junction tree divided in two parts and has two arithmetic and logic units, divided under each other and in communication connection Withdrawn DE10332203A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10332203A DE10332203A1 (en) 2003-07-16 2003-07-16 Distributed Bayes network based expert system e.g. for vehicle diagnosis and functional restoring, has junction tree divided in two parts and has two arithmetic and logic units, divided under each other and in communication connection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10332203A DE10332203A1 (en) 2003-07-16 2003-07-16 Distributed Bayes network based expert system e.g. for vehicle diagnosis and functional restoring, has junction tree divided in two parts and has two arithmetic and logic units, divided under each other and in communication connection

Publications (1)

Publication Number Publication Date
DE10332203A1 true DE10332203A1 (en) 2005-02-03

Family

ID=33560142

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10332203A Withdrawn DE10332203A1 (en) 2003-07-16 2003-07-16 Distributed Bayes network based expert system e.g. for vehicle diagnosis and functional restoring, has junction tree divided in two parts and has two arithmetic and logic units, divided under each other and in communication connection

Country Status (1)

Country Link
DE (1) DE10332203A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1868143A1 (en) * 2006-06-14 2007-12-19 SPX Corporation Information object creation based on an optimized test procedure method and apparatus
EP1868146A1 (en) * 2006-06-14 2007-12-19 SPX Corporation Dynamic decision sequencing method and apparatus for optimizing a diagnostic test plan
US8239094B2 (en) 2008-04-23 2012-08-07 Spx Corporation Test requirement list for diagnostic tests
US8412402B2 (en) 2006-06-14 2013-04-02 Spx Corporation Vehicle state tracking method and apparatus for diagnostic testing
US8428813B2 (en) 2006-06-14 2013-04-23 Service Solutions Us Llc Dynamic decision sequencing method and apparatus for optimizing a diagnostic test plan
US8648700B2 (en) 2009-06-23 2014-02-11 Bosch Automotive Service Solutions Llc Alerts issued upon component detection failure
US8762165B2 (en) 2006-06-14 2014-06-24 Bosch Automotive Service Solutions Llc Optimizing test procedures for a subject under test
US9081883B2 (en) 2006-06-14 2015-07-14 Bosch Automotive Service Solutions Inc. Dynamic decision sequencing method and apparatus for optimizing a diagnostic test plan
CN117436532A (en) * 2023-12-21 2024-01-23 中用科技有限公司 Root cause analysis method for gaseous molecular pollutants in clean room

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1868143A1 (en) * 2006-06-14 2007-12-19 SPX Corporation Information object creation based on an optimized test procedure method and apparatus
EP1868146A1 (en) * 2006-06-14 2007-12-19 SPX Corporation Dynamic decision sequencing method and apparatus for optimizing a diagnostic test plan
US8412402B2 (en) 2006-06-14 2013-04-02 Spx Corporation Vehicle state tracking method and apparatus for diagnostic testing
US8423226B2 (en) 2006-06-14 2013-04-16 Service Solutions U.S. Llc Dynamic decision sequencing method and apparatus for optimizing a diagnostic test plan
US8428813B2 (en) 2006-06-14 2013-04-23 Service Solutions Us Llc Dynamic decision sequencing method and apparatus for optimizing a diagnostic test plan
US8762165B2 (en) 2006-06-14 2014-06-24 Bosch Automotive Service Solutions Llc Optimizing test procedures for a subject under test
US9081883B2 (en) 2006-06-14 2015-07-14 Bosch Automotive Service Solutions Inc. Dynamic decision sequencing method and apparatus for optimizing a diagnostic test plan
US8239094B2 (en) 2008-04-23 2012-08-07 Spx Corporation Test requirement list for diagnostic tests
US8648700B2 (en) 2009-06-23 2014-02-11 Bosch Automotive Service Solutions Llc Alerts issued upon component detection failure
CN117436532A (en) * 2023-12-21 2024-01-23 中用科技有限公司 Root cause analysis method for gaseous molecular pollutants in clean room
CN117436532B (en) * 2023-12-21 2024-03-22 中用科技有限公司 Root cause analysis method for gaseous molecular pollutants in clean room

Similar Documents

Publication Publication Date Title
DE69835017T2 (en) DEVICE AND METHOD FOR ALLOWING DIFFERENT DATA FLOW BETWEEN ALGORITHM BLOCKS IN A DISTRIBUTED CONTROL SYSTEM
DE102012102770B4 (en) System and method for error isolation and error mitigation based on network modeling
DE3416939C2 (en)
DE102015003363A1 (en) METHOD AND SYSTEM FOR TESTING CLOUD-BASED APPLICATIONS IN A PRODUCTION ENVIRONMENT USING MANUFACTURED USER DATA
WO2001045033A2 (en) Method for processing data structures
DE112010005955T5 (en) Control system reconfigurable during operation, and method therefor
WO2021121695A1 (en) Method, apparatus and system for detecting abnormal operating states of a device
DE112010003099T5 (en) DETECTION OF LOW-LEAVED NETWORK UNITS
DE102018221063A1 (en) Configuration of a control system for an at least partially autonomous motor vehicle
DE112009000500T5 (en) Forwarding device, communication system and communication method
DE10332203A1 (en) Distributed Bayes network based expert system e.g. for vehicle diagnosis and functional restoring, has junction tree divided in two parts and has two arithmetic and logic units, divided under each other and in communication connection
DE112019003929T5 (en) ELECTRONIC CONTROL DEVICE AND UPDATING SYSTEM OF A NEURAL NETWORK
DE102010009994A1 (en) Method for optimizing a control program for actuators
WO2020126168A1 (en) Method for the cooperation of a plurality of devices of a local network
EP1624614A1 (en) Automatic planning of network configurations
EP1717651B1 (en) Method and system for analysing events related to operating a vehicle
DE10332202A1 (en) Bayesian network based expert system e.g. for diagnosis, risk analysis and functional restoring for vehicles, has each functional component having behavior variable, and control variables from variable mode
EP3705993B1 (en) System and method for locating and identifying computing nodes in a network
EP1516234A2 (en) Information generation system for product formation
WO2021037378A1 (en) Method for automatic marking, cluster work node, cluster, network, computer program and computer-readable medium
EP3575976A1 (en) Method for determining a physical connection topology of a real-time-capable test device gene set up for control apparatus development
DE102018123563A1 (en) Method for inter-core communication in a multi-core processor
DE112018007548B4 (en) Data communication control device, data communication control program and data control system
DE112009001818T5 (en) Control device, control method and computer program
WO2022253589A1 (en) Method for time-of-flight-based configuration of a device-internal signal transmission in a control device, and correspondingly operable control device and motor vehicle

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: DAIMLERCHRYSLER AG, 70327 STUTTGART, DE

8127 New person/name/address of the applicant

Owner name: DAIMLER AG, 70327 STUTTGART, DE

8120 Willingness to grant licences paragraph 23
8139 Disposal/non-payment of the annual fee