net { sysMode = 0; ssTermination = "0"; ssAutoReinit = "1"; author = "C.H. Meyer"; ssAutoPropagation = "1"; ssEvaluatePassiveRules = "1"; name = "Car diagnosis"; } // Variables... node FUEL_SYSTEM { type = nominal; states = ("ok", "faulty"); ssPosY = "390.25"; ssPosX = "310.25"; enum = 10; } node BATTERY_VOLTAGE { type = nominal; states = ("strong", "weak", "dead"); ssPosY = "25.25"; ssPosX = "154.5"; expanded = "1"; enum = 12; } node DISTRIBUTOR { type = nominal; states = ("ok", "faulty"); ssPosY = "299.5"; ssPosX = "200.0"; enum = 13; } node VOLTAGE_AT_PLUG { type = nominal; states = ("strong", "weak", "none"); ssPosY = "189.75"; ssPosX = "84.5"; enum = 14; } node SPARK_TIMING { type = nominal; states = ("good", "bad", "very_bad"); ssPosY = "463.5"; ssPosX = "162.0"; enum = 15; } node SPARK_QUALITY { type = nominal; states = ("good", "bad", "very_bad"); ssPosY = "604.0"; ssPosX = "82.5"; enum = 16; } node SPARK_PLUGS { type = nominal; states = ("ok", "too_wide", "fouled"); ssPosY = "379.75"; ssPosX = "0.0"; enum = 0; } node AIR_FILTER { type = nominal; states = ("clean", "dirty"); ssPosY = "93.25"; ssPosX = "615.5"; enum = 1; } node ALTERNATOR { type = nominal; states = ("ok", "faulty"); ssPosY = "3.5"; ssPosX = "519.25"; expanded = "1"; enum = 2; } node ELECTRICAL_SYSTEM { type = nominal; states = ("ok", "defect"); ssPosY = "618.25"; ssPosX = "314.25"; enum = 17; } node FUEL_PUMP { type = nominal; states = ("works", "stands"); ssPosY = "167.75"; ssPosX = "266.25"; enum = 8; } node TANK { type = nominal; states = ("full", "empty"); ssPosY = "248.75"; ssPosX = "413.25"; enum = 3; } node CARBURETTOR { type = nominal; states = ("ok", "soiled"); ssPosY = "219.75"; ssPosX = "619.0"; enum = 5; } node FUEL_FILTER { type = nominal; states = ("clean", "dirty"); ssPosY = "79.0"; ssPosX = "362.5"; enum = 4; } node TEMPERATURE { type = nominal; states = ("normal", "hot", "very_hot"); ssPosY = "471.5"; ssPosX = "667.25"; enum = 11; } node OIL_PRESSURE { type = nominal; states = ("normal", "low", "none"); ssPosY = "567.25"; ssPosX = "799.0"; enum = 6; } node ENGINE { type = nominal; states = ("running", "stopped"); ssPosY = "486.0"; ssPosX = "448.75"; enum = 7; } node FAN_BELT { type = nominal; states = ("intact", "weak", "broken"); ssPosY = "39.25"; ssPosX = "786.75"; enum = 9; } // Rules... rule { string = FUEL_SYSTEM=faulty | FUEL_PUMP=stands + CARBURETTOR=soiled; prob = 0.95; alpha = 19.7065283011229758657; } rule { string = ELECTRICAL_SYSTEM=ok | SPARK_QUALITY=good * SPARK_TIMING=good; prob = 0.9; alpha = 8.1724375848213295247; } rule { string = ELECTRICAL_SYSTEM=defect | SPARK_QUALITY=very_bad + SPARK_TIMING=very_bad; prob = 0.9; alpha = 9.7012485738068966911; } rule { string = SPARK_QUALITY=good | SPARK_PLUGS=ok * VOLTAGE_AT_PLUG=strong; prob = 1.0; alpha = 0.0; } rule { string = SPARK_QUALITY=very_bad | VOLTAGE_AT_PLUG=none; prob = 1.0; alpha = 0.0; } rule { string = SPARK_QUALITY=bad | SPARK_PLUGS=fouled + SPARK_PLUGS=too_wide + VOLTAGE_AT_PLUG=weak; prob = 0.95; alpha = 27.5680536094699206748; } rule { string = SPARK_TIMING=good | DISTRIBUTOR=ok; prob = 0.9; alpha = 75.8893331390721072676; } rule { string = SPARK_TIMING=bad | DISTRIBUTOR=ok; prob = 0.09; alpha = 6.1315759043794653093; } rule { string = SPARK_TIMING=good | DISTRIBUTOR=faulty; prob = 0.2; alpha = 0.3999999993541464981; } rule { string = SPARK_TIMING=bad | DISTRIBUTOR=faulty; prob = 0.3; alpha = 0.5999999974165848315; } rule { string = VOLTAGE_AT_PLUG=strong | DISTRIBUTOR=ok * BATTERY_VOLTAGE=strong; prob = 0.9; alpha = 20.0039630282003848547; } rule { string = VOLTAGE_AT_PLUG=weak | DISTRIBUTOR=ok * BATTERY_VOLTAGE=weak; prob = 0.9; alpha = 10.0595929334701583674; } rule { string = VOLTAGE_AT_PLUG=none | DISTRIBUTOR=faulty + BATTERY_VOLTAGE=dead; prob = 1.0; alpha = 0.0; } rule { string = ALTERNATOR=ok; prob = 0.99; alpha = 2.8856482158491134163; } rule { string = AIR_FILTER=clean; prob = 0.9; alpha = 8.2393430058328362864; } rule { string = SPARK_PLUGS=ok; prob = 0.8; alpha = 11.4114272098779050199; } rule { string = SPARK_PLUGS=fouled; prob = 0.1; alpha = 1.0; } rule { string = DISTRIBUTOR=ok; prob = 0.99; alpha = 89.8518648530391316835; } rule { string = FUEL_SYSTEM=ok | FUEL_PUMP=works * TANK=full * CARBURETTOR=ok; prob = 0.95; alpha = 17.5070702964185471726; } rule { string = TANK=full; prob = 0.98; alpha = 38.0726995837972097479; } rule { string = FUEL_PUMP=stands | FUEL_FILTER=dirty; prob = 0.2; alpha = 7.2414444129462127599; } rule { string = CARBURETTOR=soiled | FUEL_FILTER=dirty * AIR_FILTER=dirty; prob = 0.7; alpha = 45.4808113516388061486; } rule { string = FUEL_FILTER=clean; prob = 0.9; alpha = 6.6990279260234481229; } rule { string = FUEL_PUMP=works; prob = 0.95; alpha = 53.2797530048481533338; } rule { string = CARBURETTOR=ok; prob = 0.95; alpha = 18.4549270419936099789; } rule { string = FUEL_SYSTEM=faulty | TANK=empty; prob = 1.0; alpha = 0.0; } rule { string = ENGINE=running | FUEL_SYSTEM=ok * ELECTRICAL_SYSTEM=ok * TEMPERATURE=normal; prob = 0.95; alpha = 18.9999999999999822164; } rule { string = ENGINE=stopped | FUEL_SYSTEM=faulty + ELECTRICAL_SYSTEM=defect + TEMPERATURE=very_hot; prob = 0.98; alpha = 48.9999999999999573474; } rule { string = OIL_PRESSURE=normal; prob = 0.98; alpha = 116.5160492782936074714; } rule { string = FUEL_PUMP=stands | BATTERY_VOLTAGE=dead; prob = 1.0; alpha = 0.0; } rule { string = FAN_BELT=intact; prob = 0.96; alpha = 0.8757952565968268364; } rule { string = FAN_BELT=weak; prob = 0.02; alpha = 0.0097239204917786970; } rule { string = BATTERY_VOLTAGE=strong | FAN_BELT=intact * ALTERNATOR=ok; prob = 0.9; alpha = 12.8612258888220089691; } rule { string = BATTERY_VOLTAGE=weak | FAN_BELT=weak * ALTERNATOR=ok; prob = 0.9; alpha = 6.9768378263981815899; } rule { string = BATTERY_VOLTAGE=dead | FAN_BELT=broken + ALTERNATOR=faulty; prob = 0.95; alpha = 3354.5842028020861107489; } rule { string = TEMPERATURE=normal | OIL_PRESSURE=normal * FAN_BELT=intact; prob = 0.98; alpha = 114.3200893664878918350; } rule { string = TEMPERATURE=hot | OIL_PRESSURE=low + FAN_BELT=weak; prob = 0.95; alpha = 28.0683605965704465765; } rule { string = TEMPERATURE=very_hot | OIL_PRESSURE=none + FAN_BELT=broken; prob = 0.99; alpha = 215.4275067750256482440; }