Créer une présentation
Télécharger la présentation

Télécharger la présentation
## Decision Support for Port of Entry Inspection

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

**Decision Support for Port of Entry Inspection**Fred S. Roberts DyDAn Center Rutgers University**Homeland Security: What Can Discrete Science Do?**Fred Roberts Professor of Mathematics, Rutgers University Director, DHS Center of Excellence for Discrete Dynamical Systems (DyDAn)**Deals with data and information**• Massive, heterogeneous, dynamic • Seeks patterns • Seeks departure from patterns • Is built on a foundation of the mathematical sciences: • Math, Computer Science, Statistics • Develops powerful computer algorithms What is Discrete Science?**Methods of discrete science have become important tools for**homeland security, especially when combined with powerful, modern computer methods for analysis and simulation.**.**After Pearl Harbor: Mathematical methods and mathematical scientists played a vitally important role in the US World War II effort.**Enigma machine**Critical War-Effort Contributions Included: Code breaking. Creation of the mathematical sciences-based field of Operations Research: logistics optimal scheduling inventory strategic planning**But: Homeland Security is Different.Can Mathematics Really**Help? 5 + 2 = ? 1, 2, 3, …**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 • Goal: “inspect all containers arriving at ports” • Even carefully 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 Thanks to Capt. David Scott, Captain of Port, for taking us on the tour**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 tour of the Port of Newark/Elizabeth Thanks to Kathleen Haage of Customs and Border Protection for hosting and to Maher and Port Newark Container Terminals for their behind-the-scenes hospitality**My work on port of entry inspection has gotten me and my**students to some remarkable places. Port of Entry Inspection Algorithms Thanks to James Ely for hosting me on a tour of PNNL’s Radiation Portal Monitoring Project in connection with our new DNDO project on sensor management for nuclear detection.**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. With n = 4, 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 (absent or**present) • 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 (“safe” or**suspicious”), the 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. • I won’t discuss this case. • Exercise: How many such decision functions are there if there are three attributes 0, ½, 1? Sequential Decision Making Problem**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**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. • Several classes of Boolean functions F allow for efficient inspection schemes: • - k-out-of-n systems • - Certain series-parallel systems • - Read-once systems • - “regular” systems • - Horn systems Sequential Decision Making Problem**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 (safe or suspicious) • 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 we 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