1 / 13

JPF: Object-Oriented Language for Probabilistic Inference

JPF is an OO modeling language for real-time inference applications, offering frame-based abstraction and efficient computation. Includes ICE, Assessment Engine, JSPIScript, JSPIScript, JSPI, and BN inference engine.

cregan
Download Presentation

JPF: Object-Oriented Language for Probabilistic Inference

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JPFProbabilistic Frames Masami Takikawa Information Extraction & Transport takikawa@iet.com JPF

  2. JPF Overview • Object-oriented Knowledge Representation Language for Probabilistic Inference • Practical and Commercially Available • Used mostly for military R&D • Object-classification, tracking, sensor fusion, situation assessment, decision making, etc. • Targets real-time inference with large-scale models (at least hundreds of nodes)

  3. Layered Architecture • ICE: GUI IDE & wizard for specific modeling task • Assessment Engine: application framework • Provides data-driven construction mechanism • JPF: OO modeling language • Provides frame-based abstraction • JSPIScript: OO scripting language • Provides easy instantiation/access/query • JSPI: BN inference engine • Provides efficient exact/approximate computation

  4. Process OO modeling Instantiation and Connection Observation, Query, and Decision making frames BN Prob & Decision Assessment Engine JSPIScript JSPI ICE JPF C++ code Compiling JPF

  5. JPF Language • Based on AI frame language (Precursor to OOPL) • Frame: class with multiple inheritance • Slot: instance variable • Facet: variable type • FrameInstance: instance JPF

  6. Example: Electrical Circuits frame Circuit slot output facetdomain = [0,1] facet distribution = [.5, .5] end; Each slot specifies a BN node. Circuit output JPF

  7. Inverter Frame Inverter frame Inverter isa Circuit slot input facetdomain = Circuit slot state facetdomain = [OK, Stuck0] facetdistribution = [.9, .1] slot output facetdomain = [0,1] facetparents = [input.output,state] facetdistribution = function input,state { if state==OK then 1-input else 0 end } end; Input Circuit output state output JPF

  8. Two Inverter Instances inp1 = Circuit->makeInstance("inp1"); inv1 = Inverter->makeInstance("inv1"); inv1->input = inp1; inv2 = Inverter->makeInstance("inv2"); inv2->input = inv1; Frame->makeInstance(“name”) will create a new instance. frameInstance->slot = X will connect frame instances. JPF

  9. Two Inverter BN Inverter 1 Input Circuit output state Inverter 2 state output output Prediction: P(inv2.output | inp.output) Diagnosis: P(inv1.state | inp.output, inv1.output) Decoding: P(inp.output | inv2.output) JPF

  10. Sensor Frame – Assoc Hyp frame Sensor slot whichCircuit facet domain = Circuit facet distribution = UniformDiscreteDistribution slot observation facet domain = [0,1] facet parents = [whichCircuit.output] facet distribution = function output { if output==0 then [0.9, 0.1] else [0.2, 0.8] end } end; JPF

  11. Two Sensor Instances s1 = Sensor->makeInstance(); s1->whichCircuit->addValueToDomain(inp1); s1->observation->observe(0); s2 = Sensor->makeInstance(); s2->whichCircuit->addValueToDomain(inv1); s2->whichCircuit->addValueToDomain(inv2); s2->observation->observe(0); JPF

  12. Two Sensor BN Inverter 1 Inverter 2 Input Circuit output state state Which inverter is sensor2 connected to? output output Sensor 1 Sensor 2 Which [inp1] Obs=0 Which [inv1,inv2] Obs=0 JPF

  13. Other Topics • Subtype Hypotheses • Existence Hypotheses • Efficient Rep/Comp of Assoc Hyp • Efficient Rep/Comp of Aggregation (e.g.,MAX) • Partially Dynamic BN (Markov Processes) • Decision and Utility • Inference (Exact/Approximation) • Query Compiler & Real-time Computing • Modeling Methodologies (How to debug?) • Modeling Idioms (Roles, Sets, Relations, etc.) • Dynamic Data-driven Construction JPF

More Related