Title: Algorithms for Port of Entry Inspection for WMDs
1Algorithms for Port of Entry Inspection for WMDs
Fred S. Roberts DyDAn Center Rutgers University
2Port of Entry Inspection Algorithms
- Goal Find ways to intercept illicit
- nuclear materials and weapons
- destined for the U.S. via the
- maritime transportation system
- Currently inspecting only small
- of containers arriving at ports
- Even inspecting 8 of containers in Port of NY/NJ
might bring international trade to a halt
(Larrabbee 2002)
3Port of Entry Inspection Algorithms
- Aim Develop decision support algorithms that
will help us to optimally intercept illicit
materials and weapons subject to limits on
delays, manpower, and equipment - Find inspection schemes that minimize total
cost including cost of false alarms (false
positives) and failed alarms (false negatives)
Mobile Vacis truck-mounted gamma ray imaging
system
4Port of Entry Inspection Algorithms
- My work on port of entry inspection has gotten me
and my students to some remarkable places.
Me on a Coast Guard boat in a tour of the harbor
in Philadelphia
5(No Transcript)
6Sequential Decision Making Problem
- Stream of containers arrives at a port
- The Decision Makers Problem
- Which to inspect?
- Which inspections next based on previous results?
- Approach
- decision logics
- combinatorial optimization methods
- Builds on ideas of Stroud
- and Saeger at Los Alamos
- National Laboratory
- Need for new models
- and methods
7Sequential Diagnosis Problem
- Such sequential diagnosis problems arise in many
areas - Communication networks (testing connectivity,
paging cellular customers, sequencing tasks, ) - Manufacturing (testing machines, fault diagnosis,
routing customer service calls, ) - Medicine (diagnosing patients, sequencing
treatments, )
8Sequential Decision Making Problem
- Containers arriving to be classified into
categories. - Simple case 0 ok, 1 suspicious
- Inspection scheme specifies which inspections
are to be made based on previous observations
9Sequential Decision Making Problem
- 0s and 1s suggest binary digits (bits)
- Bit String A sequence of bits
- 0001, 1101,
- Boolean Function A function that assigns to each
bit string a 0 or a 1. - Bit String x B(x)
- 00 1
- 01 0 B(00) 1, B(10) 0
- 10 0
- 11 1
10Sequential Decision Making Problem
- Bit strings are of course crucial carriers of
information in modern computers - They are used to encode detailed instructions and
are translated to a sequence of on-off
instructions for switches in the computer. - We will use them differently.
11Counting Bit Strings and Boolean Functions
- To understand the difficulty of the container
inspection problem, we will need to count bit
strings and Boolean functions. - Product Rule of Counting If something can happen
in n1 ways, and no matter how the first thing
happens, a second thing can happen in n2 ways,
then the two things together can happen in n1 x
n2 ways.
12Counting Bit Strings and Boolean Functions
- Product Rule of Counting (More Generally) If
something can happen in n1 ways, and no matter
how the first thing happens, a second thing can
happen in n2 ways, and no matter how the first
two things happen, a third thing can happen in n3
ways, and , then all the things together can
happen in n1 x n2 x n3 x ways.
13Counting Bit Strings and Boolean Functions
- How many bit strings are there of 3 bits?
- There are 2 choices for the first bit.
- No matter how it is chosen, there are 2 choices
for the second bit. - No matter how the first 2 bits are chosen, there
are 2 choices for the third bit. - Get 2 x 2 x 2 23 8
14Counting Bit Strings and Boolean Functions
- How many bit strings are there of 3 bits?
- 000, 001, 010, 011, 100, 101, 110, 111
- How many bit strings are there of 5 bits?
- 25
- How many bit strings are there of n bits?
- 2n
15Counting Bit Strings and Boolean Functions
- How many Boolean functions are there of 3
variables?
16Counting Bit Strings and Boolean Functions
- How many Boolean functions are there of 3
variables? - There are 23 8 bit strings of 3 variables
- For each such bit string, the Boolean function
assigns it one of 2 different values (0 or 1).
17Counting Bit Strings and Boolean Functions
- How many Boolean functions are there of 3
variables? - There are 23 8 bit strings of 3 variables
- For each such bit string, the Boolean function
assigns it one of 2 different values (0 or 1). - There are 28 such Boolean functions.
18Counting Bit Strings and Boolean Functions
- How many Boolean functions are there of n
variables?
19Counting Bit Strings and Boolean Functions
- How many Boolean functions are there of n
variables? - There are 2n bit strings of n variables
- For each such bit string, the Boolean function
assigns it one of 2 different values (0 or 1).
20Counting Bit Strings and Boolean Functions
- How many Boolean functions are there of n
variables? - There are 2n bit strings of n variables
- For each such bit string, the Boolean function
assigns it one of 2 different values (0 or 1). - There are such Boolean functions.
21Counting Bit Strings and Boolean Functions
How big is ? When n 4, this is 65,536
22Counting Bit Strings and Boolean Functions
The problem of making a detailed design of a
digital computer usually involves finding a
practical circuit implementation of certain
functional behavior. A computer device
implements a Boolean function. In the early days
of computing, the goal was to create a catalogue
listing a good circuit implementation of each
Boolean function. This would require 65,536
entries!
23Counting Bit Strings and Boolean Functions
- Of course, luckily, by symmetry, some of these
examples are equivalent - For example, if we interchange two variables.
- In the early days of computing (1951), a group
from the Harvard Computation Laboratory
painstakingly listed all 65,536 Boolean functions
of 4 variables and determined which were
equivalent. - (There were 222 types.)
24Sequential Decision Making ProblemFor Container
Inspection
- Containers have attributes, each
- in a number of states
- Sample attributes
- Levels of certain kinds of chemicals or
biological materials - Whether or not there are items of a certain kind
in the cargo list - Whether cargo was picked up in a certain port
25Sequential Decision Making Problem
- Currently used attributes
- Does ships manifest set off an alarm?
- What is the neutron or Gamma emission count? Is
it above threshold? - Does a radiograph image come up positive?
- Does an induced fission test come up positive?
Gamma ray detector
26Sequential Decision Making Problem
- We can imagine many other attributes
- Research at DyDAn is concerned with general
algorithmic approaches. - We seek a methodology not tied to todays
technology. - Detectors are evolving quickly.
27Sequential Decision Making Problem
- Simplest Case Attributes are in state 0 or 1
- Then Container is a bit string like 011001
- So Classification is a decision function F that
assigns each binary string to a category.
011001
F(011001)
If attributes 2, 3, and 6 are present, assign
container to category F(011001).
28Sequential Decision Making Problem
- If there are two categories, 0 and 1, decision
function F is a Boolean function. - Example
- F(000) F(111) 1, F(abc) 0 otherwise
- This classifies a container as positive iff it
has none of the attributes or all of them.
1
29Sequential Decision Making Problem
- What if there are three categories, 0 ½, and 1?.
- Example
- F(000) 0, F(111) 1, F(abc) 1/2 otherwise
- This classifies a container as positive if it has
all of the attributes, negative if it has none of
the attributes, and uncertain if it has some but
not all of the attributes. - How many such decision functions are there if
there are three attributes?
30Sequential Decision Making Problem
- What if there are three categories, 0 ½, and 1?
- How many such decision functions are there if
there are three attributes?
31Sequential Decision Making Problem
- What if there are three categories, 0 ½, and 1?.
- How many such decision functions are there if
there are three attributes? - There are 23 bit strings of length 3.
32Sequential Decision Making Problem
- What if there are three categories, 0 ½, and 1?.
- How many such decision functions are there if
there are three attributes? - There are 23 bit strings of length 3.
- For each of them, there are 3 choices for the
value of F.
33Sequential Decision Making Problem
- What if there are three categories, 0 ½, and 1?.
- How many such decision functions are there if
there are three attributes? - There are 23 bit strings of length 3.
- For each of them, there are 3 choices for the
value of F. - Thus, there are such decision functions.
34Sequential Decision Making Problem
- Given a container, test its attributes until know
enough to calculate the value of F. - An inspection scheme tells us in which order to
test the attributes to minimize cost. - Even this simplified problem is hard
computationally.
35Sequential Decision Making Problem
- This assumes F is known.
- Simplifying assumption Attributes are
independent. - At any point we stop inspecting and output the
value of F based on outcomes of inspections so
far. - Complications May be precedence relations in the
components (e.g., cant test attribute a4 before
testing a6. - Or cost may depend on attributes tested before.
- F may depend on variables that cannot be
directly tested or for which tests are too
costly.
36Sequential Decision Making Problem
- Such problems are hard computationally.
- There are many possible Boolean functions F.
- Even if F is fixed, problem of finding a good
classification scheme (to be defined precisely
below) is NP-complete it is hard in a precise
computer science sense.
37Sensors and Inspection Lanes
- n types of sensors measure presence or absence
of the n attributes. - Many copies of each sensor.
- Complication different characteristics of
sensors. - Entities come for inspection.
- Which sensor of a given type to
- use?
- Think of inspection lanes and
- waiting on line for inspection
- Besides efficient inspection
- schemes, could decrease costs by
- Buying more sensors
- Change allocation of containers to sensor lanes.
38Trees
- A tree for us is a directed graph.
- It has nodes (vertices).
- Directed edges or arcs head
- from a vertex to another.
- There are no cycles
- (you cant double back on
- yourself)
- We will deal with rooted trees One node is a
root. - All arcs point downwards in our diagrams,
starting from the root. - If each node has two or zero outgoing (downwards)
arcs, we have a binary tree. - Nodes with no outgoing arcs are called leaves.
39Binary Decision Tree Approach
- Sensors measure presence/absence of attributes
so 0 or 1 - Use two categories 0, 1
- Binary Decision Tree
- Nodes are sensors or categories
- Two arcs exit from each sensor node, labeled left
and right. - Take the right arc when sensor says the attribute
is present, left arc otherwise
40Binary Decision Tree Approach
- Reach category 1 from the root only through the
path a0 to a1 to 1. - Container is classified in category 1 iff it has
both attributes a0 and a1 . - Corresponding Boolean function
- F(11) 1, F(10) F(01) F(00) 0.
Figure 1
41Binary Decision Tree Approach
- Reach category 1 from the
- root only through the path a1
- to a0 to 1.
- Container is classified in category 1 iff it has
both - attributes a0 and a1 .
- Corresponding Boolean function
- F(11) 1, F(10) F(01) F(00) 0.
- Note Different tree, same function
Figure 1
42Binary Decision Tree Approach
- Reach category 1 from the
- root only through the path a0
- to 1 or a0 to a1 to 1.
- Container is classified in category 1 iff it has
attribute - a0 or attribute a1 .
- Corresponding Boolean function
- F(11) 1, F(10) F(01) 1, F(00) 0.
Figure 1
43Binary Decision Tree Approach
- Can you find another binary
- tree that calculates the same
- Boolean function?
- Sure, just interchange
- nodes a0 and a1
Figure 1
44Binary Decision Tree Approach
- Reach category 1 from
- the root by
- a0 L to a1 R a2 R 1 or
- a0 R a2 R1
- Container classified in category 1 iff it has
- a1 and a2 and not a0 or
- a0 and a2 and possibly a1.
- Corresponding Boolean function
- F(111) F(101) F(011) 1, F(abc) 0
otherwise.
Figure 2
45Binary Decision Tree Approach
- This binary decision tree corresponds to the same
Boolean function - F(111) F(101) F(011) 1, F(abc) 0
otherwise. - However, it has one less observation node ai. So,
it is more efficient if all observations are
equally costly and equally likely.
Figure 3
46Binary Decision Tree Approach
- So we have seen that a given Boolean function may
correspond to different binary decision trees. - How do we find a binary decision tree
corresponding to a Boolean function? - How do we find a least cost one?
Port of Long Beach
47Binary Decision Tree Approach
- So we have seen that a given Boolean function may
correspond to different binary decision trees. - How do we find a binary decision tree
corresponding to a Boolean function F? - Brute force method
- Start with root a0, put both left and right arcs
to an a1. - From each a1 put both left and right arcs to a2,
etc. - At the end, each path through the tree
corresponds to a bit string x and let that - path end at F(x).
48Binary Decision Tree Approach
49Binary Decision Tree Approach
x F(x) x F(x)
111 1 011 1
110 1 010 0
101 0 001 0
100 1 000 0
1
1
1
0
1
0
0
0
50Binary Decision Tree Approach
- Even if the Boolean function F is fixed, the
problem of finding the least cost binary
decision tree for it is very hard (NP-complete). - For small n number of attributes, can try to
solve it by trying all possible binary decision
trees corresponding to the Boolean function F. - Even for n 4, not practical. (n 4 at Port of
Long Beach-Los Angeles)
Port of Long Beach
51Binary Decision Tree Approach
- Promising Approaches
- Heuristic algorithms, approximations to optimal.
- Special assumptions about the Boolean function F.
- For monotone Boolean functions, integer
programming formulations give promising
heuristics. - Stroud and Saeger (Los Alamos
- National Lab) enumerate all
- complete, monotone Boolean functions
- and calculate the least expensive
- corresponding binary decision trees.
- Their method practical for n up to 4, not n
5.
52Binary Decision Tree Approach
- Monotone Boolean Functions
- Given two bit strings x1x2xn, y1y2yn
- Suppose that xi ? yi for all i implies that
F(x1x2xn) ? F(y1,y2yn). - Then we say that F is monotone.
- Then 111 has highest probability of being in
category 1.
53Binary Decision Tree Approach
- Monotone Boolean Functions
- Given two bit strings x1x2xn, y1y2yn
- Suppose that xi ? yi for all i implies that
F(x1x2xn) ? F(y1,y2yn). - Then we say that F is monotone.
- Example
- n 4, F(x) 1 iff x has at least two 1s.
- F(1100) F(0101) F(1011) 1, F(1000) 0,
etc. - Is this monotone?
- Yes
54Binary Decision Tree Approach
- Incomplete Boolean Functions
- Boolean function F is incomplete if F can be
calculated by finding at most n-1 attributes
and knowing the value of the input string on
those attributes - Example F(111) F(110) F(101) F(100) 1,
F(000) F(001) F(010) F(011) 0. - F(abc) is determined without knowing b (or
c). - F is incomplete.
55Binary Decision Tree Approach
- Complete, Monotone Boolean Functions
- Stroud and Saeger algorithm for enumerating
binary decision trees implementing complete,
monotone Boolean functions. - Feasible to implement up to n 4.
- Then you can find least cost tree by enumerating
all binary decision trees corresponding to a
given Boolean function and repeating this for
all complete, monotone Boolean functions.
56Binary Decision Tree Approach
- Complete, Monotone Boolean Functions
- Stroud and Saeger algorithm for enumerating
binary decision trees implementing complete,
monotone Boolean functions. - n 2
- There are 6 monotone Boolean functions.
- Only 2 of them are complete, monotone
- There are 4 binary decision trees for calculating
these 2 complete, monotone Boolean functions.
57Binary Decision Tree Approach
- Complete, Monotone Boolean Functions
- n 3
- 9 complete, monotone Boolean functions.
- 60 distinct binary trees for calculating them
- Counting methods more complicated than simple
ones we have described before - All counts here are from Stroud and Saeger
58Binary Decision Tree Approach
- Complete, Monotone Boolean Functions
- n 4
- 114 complete, monotone Boolean functions.
- 11,808 distinct binary decision trees for
calculating them. - (Compare 1,079,779,602 BDTs for all Boolean
functions)
59Binary Decision Tree Approach
- Complete, Monotone Boolean Functions
- n 5
- 6894 complete, monotone Boolean functions
- 263,515,920 corresponding binary decision trees.
- Combinatorial explosion!
- Need alternative approaches enumeration not
feasible! - (Even worse compare 5 x 1018 BDTs corresponding
to all Boolean functions)
60 Cost Functions
- So far, we have figured one binary decision tree
is cheaper than another if it has fewer nodes. - This is oversimplified.
- There are more complex costs involved than number
of sensors in a tree.
61 Cost Functions
- Stroud-Saeger method applies to more
sophisticated cost models, not just cost number
of sensors in the BDT. - Using a sensor has a cost
- Unit cost of inspecting one item with it
- Fixed cost of purchasing and deploying it
- Delay cost from queuing up at the sensor station
- Preliminary problem disregard fixed and delay
costs. Minimize unit costs.
62 Cost Functions
- Simplification so far Disregard characteristics
of population of entities being inspected. - Only count number of observation (attribute)
nodes in the tree. - Unit Cost Complication How many nodes of the
decision tree are actually visited during average
containers inspection? Depends on distribution
of containers. - Answer can depend on probability of sensor errors
and probability of bomb in a container.
63 Cost Functions Delay Costs
- Tradeoff between fixed costs and delay costs Add
more sensors cuts down on delays. - More sophisticated models describe the process of
containers arriving - There are differing delay times for inspections
- Use queuing theory to find average delay times
under different models
64 Cost Functions Delay Costs
- There are differing delay times for inspections
- Use queuing theory to find average delay times
under different models - Explorations for Students Explore the
fundamental principles of queueing theory
65 Cost FunctionsUnit CostsTree Utilization
- Complication Assume cost depends on how many
nodes of BDT are actually visited during an
average containers inspection. (This is sum of
unit costs.) - Depends on characteristics of population of
entities being inspected. - I.e., depends on distribution of containers.
- In our early models, we assume we are given
probability of sensor errors and probability of
bomb in a container. - This allows us to calculate expected cost of
utilization of the tree Cutil. (Details omitted
here.)
66Cost Functions
- Cost of false positive Cost of additional tests.
- If it means opening the container, its very
expensive. - Cost of false negative
- Complex issue.
- What is cost of a bomb going off in Manhattan?
67Cost Functions Sensor Errors
- One Approach to False Positives/Negatives
- Assume there can be Sensor Errors
- Simplest model assume that all sensors checking
for attribute ai have same fixed probability of
saying ai is 0 if in fact it is 1, and
similarly saying it is 1 if in fact it is 0. - More sophisticated analysis later describes a
model for determining probabilities of sensor
errors. - Notation X state of nature (bomb or no bomb)
- Y outcome (of sensor or entire inspection
process).
68Probability of Error for The Entire Tree
- State of nature is zero (X 0), absence of a bomb
State of nature is one (X 1), presence of a bomb
Probability of false positive (P(Y1X0)) for
this tree is given by
Probability of false negative (P(Y0X1)) for
this tree is given by
P(Y1X0) P(YA1X0) P(YB1X0)
P(YA1X0) P(YB0X0) P(YC1X0)
Pfalsepositive
P(Y0X1) P(YA0X1) P(YA1X1)
P(YB0X1)P(YC0X1) Pfalsenegative
69Probability of Error for The Entire Tree
- State of nature is zero (X 0), absence of a bomb
Note the use of the product rule probability is
ratio between number of ways something we are
interested in can happen and total number ways
things can happen.
Probability of false positive (P(Y1X0)) for
this tree is given by
P(Y1X0) P(YA1X0) P(YB1X0)
P(YA1X0) P(YB0X0) P(YC1X0)
Pfalsepositive
70Probability of Error for The Entire Tree
- State of nature is zero (X 0), absence of a bomb
Also uses the sum rule of counting If one event
can happen in n1 ways and a second event in n2
different ways, then there are n1n2 ways in
which either the first event or the second event
can occur (but not both).
Probability of false positive (P(Y1X0)) for
this tree is given by
P(Y1X0) P(YA1X0) P(YB1X0)
P(YA1X0) P(YB0X0) P(YC1X0)
Pfalsepositive
71Aside Illustrating the Sum Rule
For example, how many bit strings are there of 4
bits so that there are either exactly three 1s
or exactly three 0s? For bit strings of three
1s, we have four choices for the place to put
the 0, so there are 4 such strings. For bit
strings with three 0s, there are similarly 4
such strings. By the sum rule, there are 8 bit
strings with exactly three 1s or exactly three
0s, since it is impossible to have both. 1110,
1101, 1011, 0111, 0001, 0010, 0100, 1000
72Cost Function used for Evaluating the Decision
Trees.
- CTot CFalsePositive PFalsePositive
CFalseNegative PFalseNegative Cutil
CFalsePositive is the cost of false positive
(Type I error) CFalseNegative is the cost of
false negative (Type II error) PFalsePositive is
the probability of a false positive
occurring PFalseNegative is the probability of a
false negative occurring Cutil is the expected
cost of utilization of the tree.
73Cost Function used for Evaluating the Decision
Trees.
CFalsePositive is the cost of false positive
(Type I error) CFalseNegative is the cost of
false negative (Type II error) PFalsePositive is
the probability of a false positive
occurring PFalseNegative is the probability of a
false negative occurring Cutil is the expected
cost of utilization of the tree. PFalsePositive
and PFalseNegative are calculated from the tree.
Cutil is calculated from tree and probabilities
of bomb in container and probability of sensor
errors. CFalsePositive, CFalseNegative are input
given information.
74Stroud Saeger Experiments
- Stroud-Saeger ranked all trees formed
- from 3 or 4 sensors A, B, C and D
- according to increasing tree costs.
- Used cost function defined above.
- Values used in their experiments
- CA .25 P(YA1X1) .90 P(YA1X0) .10
- CB 10 P(YC1X1) .99 P(YB1X0) .01
- CC 30 P(YD1X1) .999 P(YC1X0) .001
- CD 1 P(YD1X1) .95 P(YD1X0) .05
- Here, Ci unit cost of utilization of sensor i.
- Also fixed were CFalseNegative, CFalsePositive,
P(X1)
75Sensitivity Analysis
- When parameters in a model are not known exactly,
the results of a mathematical analysis can change
depending on the values of the parameters. - It is important to do a sensitivity analysis let
the parameter values vary and see if the results
change. - So, do the least cost trees change if we change
values like probability of a bomb, cost of a
false positive, etc?
76Stroud Saeger Experiments Our Sensitivity
Analysis
- We have explored sensitivity of the Stroud-Saeger
conclusions to variations in values of the three
parameters - CFalseNegative, CFalsePositive, P(X1)
- (Work of Anand, Madigan, Mammone, Pathak,
Roberts) - We estimated high and low values for the
parameters.
77Stroud Saeger Experiments Our Sensitivity
Analysis
- CFalseNegative was varied between 25 million and
10 billion dollars - Low and high estimates of direct and indirect
costs incurred due to a false negative. - CFalsePositive was varied between 180 and 720
- Cost incurred due to false positive
- (4 men (3 -6 hrs) (15 30 /hr)
- P(X1) was varied between 1/10,000,000 and
1/100,000
78Stroud Saeger Experiments Our Sensitivity
Analysis
- CFalseNegative was varied between 25 million and
10 billion dollars - Low and high estimates of direct and indirect
costs incurred due to a false negative. - CFalsePositive was varied between 180 and 720
- Cost incurred due to false positive
- (4 men (3 -6 hrs) (15 30 /hr)
- P(X1) was varied between 1/10,000,000 and
1/100,000 - Extra assignment think about whether these
ranges are reasonable and how one would determine
them?
79Stroud Saeger Experiments Our Sensitivity
Analysis
- n 3 (use sensors A, B, C)
- Varied the parameters
- CFalseNegative, CFalsePositive, P(X1)
- We chose the value of one of these parameters
from the interval of values - Then explored the highest ranked tree as the
other two were chosen at random in the interval
of values. - 10,000 experiments for each fixed value.
- We looked for the variation in the top-ranked
tree and how the top-rank related to choice of
parameter values. - Very surprising results.
80Frequency of Top-ranked Trees when CFalseNegative
and CFalsePositive are Varied
- 10,000 randomized experiments (randomly selected
values of CFalseNegative and CFalsePositive from
the specified range of values) for the median
value of P(X1). - The above graph has frequency counts of the
number of experiments when a particular tree was
ranked first or second or third and so on. - Only three trees (7, 55 and 1) ever came first. 6
trees came second, 10 came third, 13 came fourth.
81Frequency of Top-ranked Trees when CFalseNegative
and P(X1) are Varied
- 10,000 randomized experiments for the median
value of CFalsePositive. - Only 2 trees (7 and 55) ever came first. 4 trees
came second. 7 trees came third. 10 and 13 trees
came 4th and 5th respectively.
82Frequency of Top-ranked Trees when P(X1) and
CFalsePositive are Varied
- 10,000 randomized experiments for the median
value of CFalseNegative. - Only 3 trees (7, 55 and 1) ever came first. 6
trees came second. 10 trees came third. 13 and 16
trees came 4th and 5th respectively.
83Most Frequent Tree Groups Attaining the Top Three
Ranks.
All the three decision trees have been generated
from the same Boolean function. Both Tree 9 and
Tree 10 are ranked second and third more than 99
of the times when Tree 7 is ranked first.
84Most Frequent Tree Groups Attaining the Top Three
Ranks
All three trees correspond to the same Boolean
function. Tree ranked 57 is second 96 of the
times and tree 58 is third 79 of the times when
tree 55 is ranked first.
85Most Frequent Tree Groups Attaining the Top Three
Ranks
All three trees correspond to the same Boolean
function. Tree 3 is ranked second 98 of times
and tree 2 is ranked third 80 of the times when
tree 1 is ranked first.
86Stroud Saeger Experiments Sensitivity Analysis
4 Sensors
- Second set of computer experiments n 4
- (use sensors, A, B, C, D).
- Same values as before.
- Experiment 1 Fix values of two of
CFalseNegative, CFalsePositive, P(X1) and vary
the third through their interval of possible
values. - Experiment 2 Fix a value of one of
CFalseNegative, CFalsePositive, P(X1) and vary
the other two. - Do 10,000 experiments each time.
- Look for the variation in the highest ranked
tree.
87Tree Structure For Top Trees
Tree number 11485
Tree number 10129
88Tree Structure For Top Trees
Tree number 11485
Tree number 10129
Explorations for Students Compare the Boolean
functions corresponding to these two trees. See
where they differ. How close are they? Can you
make closeness precise?
89Modeling Sensor Errors
- One Approach to Sensor Errors Modeling Sensor
Operation - Threshold Model
- Sensors have different discriminating power
- Many use counts (e.g., Gamma radiation counts)
- See if count exceeds
- threshold
- If so, say attribute is present.
90Conclusions from Sensitivity Analysis
- Considerable lack of sensitivity to modification
in parameters for trees using 3 or 4 sensors. - Very few optimal trees.
- Very few Boolean functions arise among optimal
and near-optimal trees. - Surprising results.
91Some Research Challenges
- Explain why conclusions are so insensitive to
variation in parameter values. - Explore the structure of the optimal trees and
compare the different optimal trees. - Develop less brute force methods for finding
optimal trees that might work if there are more
than 4 attributes. - Develop methods for
- approximating the optimal tree.
Pallet vacis
92Closing Remark
- Recall that the cost of inspection includes the
cost of failure, including failure to foil a
terrorist plot. - There are many ways to lower the total cost of
inspection - Use more efficient
- orders of inspection.
- Find ways to inspect
- more containers.
- Find ways to cut down
- on delays at inspection lanes.
93Research Team
- Saket Anand, Rutgers, ECE graduate student
- Endre Boros, Rutgers, Operations Research
- Elsayed Elsayed, Rutgers, Ind. Systems
Engineering - Liliya Fedzhora, Rutgers, Operations Res. grad.
student - Paul Kantor, Rutgers, Schl. of Infor. Library
Studies - Abdullah Karaman, Rutgers Ind. Syst. Eng. grad.
student - Alex Kogan, Rutgers, Business School
- Paul Lioy, Rutgers/UMDNJ, Environmental and
Occupational Health and Sciences Institute - David Madigan, Rutgers, Statistics
- Richard Mammone, Rutgers, Center for Advanced
Information Processing - S. Muthukrishnan, Rutgers, Computer Science
- Saumitr Pathek, Rutgers ECE graduate student
- Richard Picard, Los Alamos, Statistical Sciences
Group - Fred Roberts, Rutgers, DIMACS Center
- Kevin Saeger, Los Alamos, Homeland Security
- Phillip Stroud, Los Alamos, Systems Engineering
and Integration Group - Hao Zhang, Rutgers Ind. Systems Eng., graduate
student
94- Collaborators on Sensitivity Analysis
- Saket Anand
- David Madigan
- Richard Mammone
- Saumitr Pathak
- Research Support
- Office of Naval Research
- National Science Foundation
- Los Alamos National Laboratory
- Rick Picard
- Kevin Saeger
- Phil Stroud
95Mathematics can help with homeland security!