here

mewstennisΛογισμικό & κατασκευή λογ/κού

4 Νοε 2013 (πριν από 3 χρόνια και 8 μήνες)

68 εμφανίσεις

February 4, 2003

JPF

1

JPF

Probabilistic Frames

Masami Takikawa

Information Extraction & Transport

takikawa@iet.com

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)



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


February 4, 2003

JPF

4

Process

OO

modeling

frames

Instantiation

and

Connection

BN

Observation,

Query,

and

Decision

making

Prob & Decision

ICE

JPF

Assessment
Engine

JSPIScript

JSPI

Compiling

C++ code

February 4, 2003

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

February 4, 2003

JPF

6

Example: Electrical Circuits

frame

Circuit


slot

output


facet

domain

= [0,1]


facet distribution

= [.5, .5]

end
;


Each slot specifies a BN node.

Circuit






output

February 4, 2003

JPF

7


Inverter











Inverter Frame

frame

Inverter
isa

Circuit


slot

input


facet

domain

= Circuit


slot

state


facet

domain

= [OK, Stuck0]


facet

distribution

= [.9, .1]


slot

output


facet

domain

= [0,1]


facet

parents

= [input.output,state]


facet

distribution

=


function input,state { if state==OK then 1
-
input else 0 end }

end
;


Input Circuit






output

state

output

February 4, 2003

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.

February 4, 2003

JPF

9


Inverter 2











Two Inverter BN

state

output


Inverter 1











Input Circuit






output

state

output

Prediction:

P(inv2.output | inp.output)

Diagnosis:

P(inv1.state | inp.output, inv1.output)

Decoding:

P(inp.output | inv2.output)

February 4, 2003

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
;


February 4, 2003

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);


February 4, 2003

JPF

12


Inverter 2











Two Sensor BN

state

output


Inverter 1











Input Circuit






output

state

output


Sensor 1






Obs=0

Which

[inp1]


Sensor 2






Obs=0

Which

[inv1,inv2]

Which inverter is
sensor2
connected to?

February 4, 2003

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