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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/043—Distributed expert systems; Blackboards
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric 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/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
- G05B23/024—Quantitative 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
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:
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
Schon
jetzt erkennt man, ohne bereits näher auf die Erfindung eingegangen
zu sein, dass es von dem Geber Input
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
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
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
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
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
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.
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
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
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.
- 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)
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)
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 |
-
2003
- 2003-07-16 DE DE10332203A patent/DE10332203A1/en not_active Withdrawn
Cited By (11)
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 |