Create Presentation
Download Presentation

Download Presentation
## Algorithms for Port of Entry Inspection for WMDs

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Algorithms for Port of Entry Inspection for WMDs**Fred S. Roberts DyDAn Center Rutgers University**Port 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)**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”) Port of Entry Inspection Algorithms Mobile Vacis: truck-mounted gamma ray imaging system**My work on port of entry inspection has gotten me and my**students to some remarkable places. Port of Entry Inspection Algorithms Me on a Coast Guard boat in a tour of the harbor in Philadelphia**Stream of containers arrives at a port**• The Decision Maker’s 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 Sequential Decision Making Problem**Sequential 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, …)**Containersarriving to be classified into categories.**• Simple case: 0 = “ok”, 1 = “suspicious” • Inspection scheme: specifies which inspections are to be made based on previous observations Sequential Decision Making Problem**0’s and 1’s 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 xB(x) • 00 1 • 01 0 B(00) = 1, B(10) = 0 • 10 0 • 11 1 Sequential 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. Sequential Decision Making Problem**Counting 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.**Counting 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.**Counting 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**Counting 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**Counting Bit Strings and Boolean Functions**• How many Boolean functions are there of 3 variables?**Counting 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).**3**2 2 Counting 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.**Counting Bit Strings and Boolean Functions**• How many Boolean functions are there of n variables?**Counting 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).**n**2 2 Counting 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.**n**2 2 Counting Bit Strings and Boolean Functions How big is ? When n = 4, this is 65,536**Counting 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!**Counting 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.)**Sequential 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**Currently used attributes:**• Does ship’s 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? Sequential Decision Making Problem Gamma ray detector**We can imagine many other attributes**• Research at DyDAn is concerned with general algorithmic approaches. • We seek a methodology not tied to today’s technology. • Detectors are evolving quickly. Sequential 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 functionF that assigns each binary string to a category. Sequential Decision Making Problem 011001 F(011001) If attributes 2, 3, and 6 are present, assign container to category F(011001).**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. Sequential Decision Making Problem 1 =**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? Sequential Decision Making Problem**What if there are three categories, 0 ½, and 1?**• How many such decision functions are there if there are three attributes? Sequential 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. Sequential 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. Sequential Decision Making Problem**3**2 3 Sequential 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.**Sequential 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.**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., can’t 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. Sequential Decision Making Problem**Sequential 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.**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. Sensors and Inspection Lanes**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 can’t 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. Trees**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 Binary 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. Binary Decision Tree Approach Figure 1**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 Binary Decision Tree Approach Figure 1**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. Binary Decision Tree Approach Figure 1**Can you find another binary**• tree that calculates the same • Boolean function? • Sure, just interchange • nodes a0 and a1 Binary Decision Tree Approach Figure 1**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. Binary Decision Tree Approach Figure 2**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. Binary Decision Tree Approach Figure 3**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? Binary Decision Tree Approach Port of Long Beach**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). Binary Decision Tree Approach**a0**a1 a1 a2 a2 a2 a2 F(010) Binary Decision Tree Approach**a0**a1 a1 a2 a2 a2 a2 Binary Decision Tree Approach 1 1 1 0 1 0 0 0**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) Binary Decision Tree Approach Port of Long Beach