Boolean Functions I’ve Known and Not Known: Memories of Peter L. Hammer Fred Roberts Rutgers University 1 Peter Hammer, RUTCOR, Boolean Functions Topics of the Talk • Peter’s influence • A little about the history of RUTCOR • Some work on Boolean functions that relates to Peter’s interests 2 How I Met Peter • I met Peter in 1977 when I heard him give a talk about threshold graphs. • I think it was at the Southeastern conference in Boca Raton, Florida. 3 How I Met Peter • Little did I know then what influence he would have on my life. • RUTCOR didn’t exist. • Peter was at Waterloo. • There was no Operations Research at Rutgers. • I was supervising my first Ph.D. student. • Endre Boros was still working on his Masters Thesis “On Sperner Spaces.” • Barack Obama was in high school. 4 Threshold Graphs • My first meeting with Peter led to a thesis topic for my first student, Shelly Leibowitz. • Let G be a graph with n vertices v1, v2, …, vn. • G is a threshold graph iff we can associate a weight w(vi) with each vertex and a threshold t so that for all sets S of vertices: S is an independent set {w(vi): vi S} ≤ t 5 Threshold Graphs • If S is a set of vertices, associate with it a Boolean vector so that vi is in S iff the ith entry is 1. • Equivalently, G is a threshold graph iff there is a hyperplane that separates the characteristic vectors of independent sets of vertices from those of non-independent sets. • Chvatal and Hammer (1978) characterized threshold graphs. • That caught my attention. 6 Threshold Boolean Functions • Suppose f is a Boolean function assigning each 0-1 vector (x1,x2,…,xn) to 0 or 1. • f is a threshold Boolean function if there exist weights wi and a threshold t so that f(x1,x2,…,xn) = 1 i wixi ≤ t • Thus, the Boolean function that assigns 1 to characteristic vectors of independent sets is a threshold Boolean function. 7 Sample Leibowitz Result: Guttman Scaling • A famous study of soldiers’ physical reactions to battle during WW II (Suchman, reported in Stouffer, et al. 1950). • Which of the following reactions have you had? – Violent pounding of the heart – Sinking feeling of the stomach – Feeling of weakness or feeling faint – Feeling sick to the stomach – Cold sweat – Shaking or trembling all over 8 – Losing bladder control Sample Leibowitz Result: Guttman Scaling • Which of the following reactions have you had? – Violent pounding of the heart – Sinking feeling of the stomach – Feeling of weakness or feeling faint – Feeling sick to the stomach – Cold sweat – Shaking or trembling all over – Losing bladder control • Suchman: The reactions could be ordered so that if a soldier had one of them, he had all 9 those below it on the list. Guttman Scaling • This is an example of Guttman scaling (after the psychologist Louis Guttman). • Set A of subjects and set X of items. • Can we order the set AX so that a subject agrees with all items preceding it and disagrees with all items following it? • Useful in education: students and test items • Useful in opinion scaling: individuals and opinions • So what does this have to do with threshold graphs? 10 Guttman Scaling • Build a graph G. • Vertex set is AX. • Edge between a in A and x in X if subject a agrees with item x. • Edge between every element of A. • Leibowitz observed: Agreement defines a Guttman scale iff G is a threshold graph. • This led to a large number of results about Guttman scales, sequences, threshold graphs, etc. 11 Recruiting Peter to Rutgers It was not threshold graphs that led us to recruit Peter to Rutgers. 12 Recruiting Peter to Rutgers • 1980-81, 1981-82: There was no O.R. at Rutgers, but there were courses in networks, graph theory, linear optimization, etc. • A group of us decided we needed a graduate program in O.R. • We decided we needed a leader to create and manage such a program. • We convinced Dean of the Graduate School, Ken Wolfson 13 The Recruitment • Search Committee (with 80% confidence) – Fred Roberts, Math – Bob Vichnevetsky, CS – Bill Strawderman, Stat – Mike Grigoriadis, CS Bob Vichnevetsky 14 Mike Grigoriadis? Bill Strawderman The Recruitment • The recruitment encompassed numerous locations. 15 The Recruitment • The recruitment encompassed numerous locations. LaGuardia Airport 16 The Recruitment • The recruitment encompassed numerous locations. 17 RUTCOR • We wanted a graduate program. • Peter had a much grander vision: A CENTER FOR OPERATIONS RESEARCH • RUTCOR was born. 18 RUTCOR How do you build a center? 19 RUTCOR: Building a Center Space Hill Center for the Mathematical Sciences 20 RUTCOR: Building a Center Space: A Building The true story of how the RUTCOR building came to have a deck 21 RUTCOR: Building a Center Courses • “Borrowing” courses from Math, CS, Stat, • • • • Industrial Engineering, etc. Linear Programming – from CS Dept. Networks and Combinatorial Optimization – from CS Dept. Design and Analysis of Data Structures and Algorithms – from Stat Dept. Etc. 22 RUTCOR: Building a Center Graduate Students • The key is to recruit bright, hardworking graduate students 23 RUTCOR: Building a Center Graduate Students • The key is to recruit good students • Peter’s connections in Europe and elsewhere were critical. 24 RUTCOR: Building a Center Graduate Students • Peter’s mode of operation from the beginning was to work closely with students and integrate them in the work of RUTCOR. • And encourage them to work hard. 25 RUTCOR: Building a Center Graduate Students: How to Support Them • GA lines from others. • Math Dept. • Grad School • Business School • We started a grad program with two students in year 1 26 RUTCOR: Building a Center How are we Going to Pay for a Center? • “Surely the publisher will support RUTCOR” • “Oh, perhaps that’s not enough. I think I’ll create a journal.” 27 RUTCOR: Building a Center Recruiting a Faculty 28 RUTCOR: Building a Center How to Run a Center from Canada • Agree to come to Rutgers, set up the center, but work on RUTCOR from Waterloo. • Ask someone to be director during the first year. – Fred Roberts as Director of RUTCOR during 1982-83. • Commute to Rutgers a few times each semester. • Work hard from a distance to – recruit students – plan for courses – raise funds 29 – develop plans for faculty RUTCOR: Building a Center How to Run a Center: Committees • • • • Universities need committees Executive Committee of RUTCOR Involve faculty from other departments RUTCOR “fellows” 30 RUTCOR: Building a Center How to Run a Center: Voting Rules • Many discussions to develop voting rules for RUTCOR. • Peter’s research also touched upon voting rules. • Boolean functions arise in voting. • I don’t know if the research on Boolean functions influenced the voting rules of RUTCOR. 31 RUTCOR: Building a Center How to Run a Center: Voting Rules What do Boolean functions have to do with voting? 32 Power of a Voter • Think of a “voting game” • Every coalition (subset of the players) is either strong enough to win or not. • Represent a subset of the players as a 0-1 vector with the ith entry 1 iff player i is in the subset. • Then the voting game corresponds to a Boolean function that assigns 1 to vectors corresponding to winning subsets (“winning coalitions”) and 0 to losing subsets. • If a winning coalition can never be contained in a losing one, we say we have a simple game. 33 Power of a Voter Shapley-Shubik Power Index • Think of a “voting game” • Shapley-Shubik index measures the power of each player in a multi-player game. • Consider a simple game. Martin Shubik Lloyd Shapley 34 Power of a Voter Shapley-Shubik Power Index • Consider a coalition forming at random, one player at a time. • A player i is pivotal if addition of i throws coalition from losing to winning. • Shapley-Shubik index of i = probability i is pivotal if an order of players is chosen at random. • Power measure applying to more general games than voting games is called Shapley Value. 35 Power of a Voter Example: Shareholders of Company Shareholder 1 holds 3 shares. Shareholders 2, 3, 4, 5, 6, 7 hold 1 share each. A majority of shares are needed to make a decision. Coalition {1,4,6} is winning. Coalition {2,3,4,5,6} is winning. Shareholder 1 is pivotal if he is 3rd, 4th, or 5th. So shareholder 1’s Shapley value is 3/7. Sum of Shapley values is 1 (since they are probabilities) Thus, each other shareholder has Shapley value (4/7)/6 = 2/21 36 Power of a Voter Example: Government of Australia • The previous game actually arises in the government of Australia. • There are six states and the federal government. • A coalition wins (can pass a law) if it consists of at least five states or at least two states and the federal government. • This is equivalent to the above voting game. 37 Power of a Voter Example: United Nations Security Council •15 member nations •5 permanent members China, France, Russia, UK, US •10 non-permanent •Permanent members have veto power •Coalition wins iff it has all 5 permanent members and at least 4 of the 10 non-permanent members. 38 Power of a Voter Example: United Nations Security Council •What is the power of each Member of the Security Council? •Fix non-permanent member i. •i is pivotal in permutations in which all permanent members precede i and exactly 3 nonpermanent members do. •How many such permutations are there? 39 Power of a Voter Example: United Nations Security Council •Choose 3 non-permanent members preceding i. •Order all 8 members preceding i. •Order remaining 6 non-permanent members. •Thus the number of such permutations is: C(9,3) x 8! x 6! = 9!/3!6! x 8! x 6! = 9!8!/3! •The probability that i is pivotal = power of nonpermanent member = 9!8!/3!15! = .001865 •The power of a permanent member = [1 – 10 x .001865]/5 = .1963. •Permanent members have 100 times power of 40 non-permanent members. Power of a Voter •There are a variety of other power indices used in game theory and political science (Banzhaf index, Coleman index, …) •Need calculate them for huge games •Mostly computationally intractable 41 Power of a Voter: Allocation/Sharing Costs and Revenues • Shapley-Shubik power index and more general Shapley value have been used to allocate costs to different users in shared projects. Allocating runway fees in airports Allocating highway fees to trucks of different sizes Universities sharing library facilities Fair allocation of telephone calling charges among users sharing complex phone systems (Cornell’s experiment) 42 Power of a Voter: Allocating/Sharing Costs and Revenues Multicasting • Applications in multicasting. • Unicast routing: Each packet sent from a source is delivered to a single receiver. • Sending it to multiple sites: Send multiple copies and waste bandwidth. • In multicast routing: Use a directed tree connecting source to all receivers. • At branch points, a packet is duplicated as necessary. 43 Multicasting 44 Power of a Voter: Allocating/Sharing Costs and Revenues Multicasting • Multicast routing: Use a directed tree connecting source to all receivers. • At branch points, a packet is duplicated as necessary. • Bandwidth is not directly attributable to a single receiver. • How to distribute costs among receivers? • One idea: Use Shapley value. 45 Allocating/Sharing Costs and Revenues • Feigenbaum, Papadimitriou, Shenker (2001): no feasible implementation for Shapley value in multicasting. • Note: Shapley value is uniquely characterized by four simple axioms. • Sometimes we state axioms as general principles we want a solution concept to have. • Jain and Vazirani (1998): polynomial time computable cost-sharing algorithm Satisfying some important axioms Calculating cost of optimum multicast tree within factor of two of optimal. 46 Voting Games at RUTCOR • Boolean functions I have not known: • As far as I know, Peter never used the Shapley-Shubik index or the Banzhaf or Coleman indices to – Settle votes at RUTCOR – Allocate costs and revenues at RUTCOR 47 Algorithms for Container Inspection at Ports •My recent work has gotten me more heavily into Boolean functions. •I’m glad that RUTCOR faculty and students have gotten involved. 48 Sequential Decision Making •Sequential decision making 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, …) 49 Sequential Decision Making •These problems are especially relevant in homeland security inspection contexts. •Sheer size of modern decision problems in homeland security makes classical methods impractical quickly •We seek new methods that will scale to address modern applications 50 Container Inspection Algorithms •This work has gotten me and our students to interesting places. •Thanks to Capt. David Scott, US Coast Guard Captain of Port, Delaware Bay, we were taken on a tour of the port of Philadelphia 51 Container 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” 52 Sequential Decision Making Problem • Stream of containers arrives at a port − Similar analysis for inspection prior to departure • 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 – Need for new models 53 and methods Sequential 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 54 Sequential Decision Making Problem For Container Inspection •Containers have attributes, each in a number of states •Sample attributes: –Levels of certain kinds of chemicals or biological materials –Levels of radiation –Whether or not there are items of a certain kind in the cargo list –Whether cargo was picked up in a certain port 55 Sequential Decision Making Problem •Simplest Case: Attributes are in state 0 or 1 (absent or present) •Then: Container is a binary 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). 56 Sequential Decision Making Problem •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. 1= 57 Binary Decision Tree Approach •Sensors (or other “tests”) measure presence/absence of attributes: so 0 or 1 •Use two outcome 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 58 Binary 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. Figure 2 59 Binary Decision Tree Approach •This binary decision tree corresponds to the same “decision function” Container classified in category 1 iff it has a1 and a2 and not a0 or a0 and a2 and possibly a1 However, it has one less observation node ai. So, it is more efficient if all observations are equally costly and equally likely. Figure 3 60 Binary Decision Tree Approach •How do we find a low-cost or least-cost binary decision tree corresponding to a Boolean function? •Costs : •Inspection costs (use of tree nodes) •Delay costs •Fixed equipment costs •False positive, false negative 61 Binary Decision Tree Approach •The problem of finding the “least cost” binary decision tree is very hard (NP-complete). •When the number of potential tests is small, can try to solve it by trying all possible binary decision trees. •But, even for n = 4, not practical. (n = 4 at Port of Long Beach-Los Angeles) Port of Long Beach 62 Binary Decision Tree Approach •The number of alternative binary decision trees makes this “brute force” approach impractical. •Methods so far have been limited to: - Special Boolean functions: complete, monotone - Special binary trees - Limit on number of types of tests/sensors •Even here, the brute force methods become infeasible for n > 4 types of tests/sensors brute force 63 Binary Decision Tree Approach •Stroud-Saeger adopted a cost function that depends on: –The expected number of tests before classifying a container (expected cost of utilizing the tree) –The cost of a false positive –The cost of a false negative •Using this cost function, they found the least cost binary decision trees by brute force. 64 Binary Decision Tree Approach: Sensitivity Analysis •We did a sensitivity analysis on the Stroud-Saeger results. •We varied three key parameters: •A priori probability of a “bad” container •Cost of a false positive •Cost of a false negative 65 Sensitivity Analysis •Cost of false negative was varied between 25 million and 10 billion dollars (Low and high estimates of direct and indirect costs incurred due to a false negative.) •Cost of false positive was varied between $180 and $720 (Cost incurred due to false positive (4 men * (3 -6 hrs) * (15 – 30 $/hr)) •Probability of a “bad” container was varied between 1/10,000,000 and 1/100,000 66 Sensitivity Analysis •Tens of thousands of experimental runs. •Surprising results •With three types of tests, only three trees ever came out as least expensive. •Similar results with four types of tests. •Need an explanation of why. 67 Binary Decision Tree Approach •We have extended work of Stroud-Saeger in many ways, scaling to larger numbers of sensors •E.g.: Defined notions of complete and monotonic for trees (as opposed to Boolean functions) •Developed heuristic search algorithms through an enlarged “tree space” of complete, monotonic trees • This has allowed us to: – Speed up search – Attain at least as much accuracy – Allow more types of tests (sensors) 68 Binary Decision Tree Approach •Much more work to do •Explain why results so insensitive to changes in key parameter values •Understand why certain binary decision trees are so good. •Complications we will consider: - Different cost functions - Role of different models for sensor errors: thresholds (this work already begun) - Modeling delays due to queues - Simulation of port operations 69 Container Inspection Collaborators on this Work: Saket Anand David Madigan Richard Mammone Sushil Mittal Saumitr Pathak Los Alamos National Laboratory: Rick Picard Kevin Saeger Phil Stroud 70 Alternative Approaches to Container Inspection •Endre Boros and Paul Kantor have taken quite a different approach. •They use game theory to decide how to allocate a limited budget between container screening and actual container unpacking. •Their “screening power index” summarizes the cost-effectiveness of different screening tests. •The approach can yield increases of as much as 100% in inspection with virtually no increase in cost. 71 Container Inspection •I can only think that Peter would have liked this problem. –It uses Boolean functions in a serious way. –It is a blend of practical Operations Research and theoretical O.R. –The work has engaged both students and faculty. 72 73