 Download Download Presentation Algorithms for Port of Entry Inspection for WMDs

# Algorithms for Port of Entry Inspection for WMDs

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. Algorithms for Port of Entry Inspection for WMDs Fred S. Roberts DyDAn Center Rutgers University

2. 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)

3. 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

4. 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

5. 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

6. 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, …)

7. 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

8. 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

9. 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

10. 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.

11. 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.

12. 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

13. 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

14. Counting Bit Strings and Boolean Functions • How many Boolean functions are there of 3 variables?

15. 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).

16. 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.

17. Counting Bit Strings and Boolean Functions • How many Boolean functions are there of n variables?

18. 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).

19. 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.

20. n 2 2 Counting Bit Strings and Boolean Functions How big is ? When n = 4, this is 65,536

21. 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!

22. 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.)

23. 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

24. 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

25. 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

26. 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).

27. 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 =

28. 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

29. 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

30. 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

31. 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

32. 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.

33. 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.

34. 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

35. 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.

36. 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

37. 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

38. 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

39. 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

40. 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

41. 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

42. 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

43. 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

44. 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

45. 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

46. 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

47. a0 a1 a1 a2 a2 a2 a2 F(010) Binary Decision Tree Approach

48. a0 a1 a1 a2 a2 a2 a2 Binary Decision Tree Approach 1 1 1 0 1 0 0 0

49. 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