Integration of Location Services in the Open Distributed Office Mike Rizzo , Peter F. Linington , and Ian A. Utting Computing Laboratory , University of Kent Canterbury , Kent CT2 7NF United Kingdom Abstract There has recently been much interest in location systems which enable people and equipment to be tracked as they move within and across buildings . Thus far , such systems have been used in isolation with the result that , although there are often several sources of location information available at any one site , users have to consult each system individually . Additionally , it is difficult for services requiring location information to take advantage of all these sources . In this paper , we put forward the notion of a master location system to co-ordinate the location process so that available sources of information are used automatically in as efficient a manner as possible . We discuss a number of factors that are of concern to the design of such a system , and describe a particular implementation which we worked on as part of an office automation project . 1 Introduction There has recently been much interest in location systems which enable people and equipment to be tracked as they move within and across buildings . Perhaps one of the more innovative of these is the ORL active badge location system -LSB- WHFG92 -RSB- , where tracking is done by means of IR communication between badges and a network of sensors . Potential applications include replacing telephone numbers with personal codes , recording a history of events to aid one 's memory -LSB- McC94 -RSB- , teleporting user interace environments -LSB- BRH94 -RSB- , and tracking a moving object through a video camera network . There are often several sources of location information available at any one site . Examples include system login information , and personal diary systems . Additionally , people tend to have known habits that others may become accustomed to . For example , Mike often forgets to wear his active badge , but normally works in his room -LRB- S25 -RRB- and goes for a coffee break at 15:30 . Or a particular OHP projector may be kept in one specific room most of the time , but is sometimes borrowed for use in the adjacent room . Of course , it is possible that not every object will be traceable by any one particular location system within an organisation . For example , one person may choose not to wear a badge , and the tea trolley is unlikely to log in to the computer system ! In the light of the above , we propose that a location system should not rely solely on one specific mechanism , but should try to use and combine information from as many sources as possible . It would be useful then , to have some kind of master location system -LRB- MLS -RRB- which co-ordinates all location systems available within an organisation . In this model , all such location systems are treated as slaves and are invoked by the MLS as it deems necessary . Applications requiring location information are clients of the MLS and do not communicate with the slaves directly . It is also worth pointing out that the notion of an MLS is also useful as an abstraction for federating locators across sites . A person from site A may query the location of a person at another site B without needing to know anything about the specifics of location mechanisms employed by site B. Related to this is the issue of control over information release ; individuals , or indeed organisations , may wish to restrict access to their location systems . In this paper we discuss the issues that need to be taken into consideration in the design of such a location system . We also describe the location system developed as part of the Open Distributed Office -LRB- ODO -RRB- project -LSB- RLU94 -RSB- . 2 Factors influencing the design of an MLS The availability of multiple , independent slave locators can be extremely useful , but requires a carefully designed mechanism to harness their potential effectively . This section identifies the issues that must be taken into consideration by such a design . 2.1 Uncertainty There may be a degree of uncertainty associated with a returned location . For example , a user may be known to be logged on a particular host from a particular terminal , but is reported to have been idle for 2 minutes . Depending on the user 's habits , there may or may not be a very good chance that he or she is still sitting at the terminal . With active badges , a person may have his back temporarily turned to the sensor so that the badge is not picked up for a short time . Thus a last sighting time of 2 minutes could mean that the person may still actually be in the room , though obviously with less likelihood than for a last sighting time of a few seconds . We stipulate therefore , that whenever a locator suggests a location , it should also supply a confidence value to give some indication of the likelihood of that location being correct . The master locator can then use this value in its decision-making process as will be made clearer in the coming sections . 2.2 Returning multiple locations A locator may be capable of returning more than one location for the same target object . For example , a person may have overlapping appointments in a personal diary , or may be logged in from more than one terminal on the local network . In such circumstances , the confidence value described in the previous section would normally -LRB- but not necessarily -RRB- be different for each location . For example , if a user is logged in on host A with an idle time of 3 minutes , and on host B with an idle time of a few seconds , then one would expect the confidence value associated with host B to be at least as strong as host A . In fact a typical ` confidence function ' would indicate a much stronger likelihood for host B in this case . Ultimately , however , an appropriate confidence function must be based on the habits of each individual user or entity , and therefore it is not desirable , nor is it necessary , to impose constraints on the choice of such functions . The master locator itself is capable of returning multiple locations . Clients of the master locator would be expected to try locations in order of decreasing likelihood . 2.3 Corroboration and conflict A location indicated by one slave locator may conflict with or corroborate that returned by another . In the case of corroboration , it might be useful to combine the confidence values in some appropriate way that reflected the strength of the combined support for that location . As is the case with locators returning multiple conflicting locations , confidence values are needed to determine which location should be tried first whenever two slave locators give conflicting results . However , there is a subtle difference in that the confidence values are now being computed by different locators . The respective confidence functions must therefore be chosen carefully so as to ensure that it makes sense to compare values returned by different locators . Failure to do so will result in situations where one locator is ` overconfident ' relative to another . 2.4 What is a location ? If a locator -LRB- be it master or slave -RRB- is to return a location , then some kind of representation for locations is needed . This is not a trivial problem as there is often more than one way of identifying a location in space . For example , three different ways of identifying the multimedia lab at UKC are : ffl room SW103 , ffl the room with telephone extension 3813 , ffl the room where the host rowan.ukc.ac.uk is situated . A slave locator may very well be capable of reporting one or more of these . In particular , the master locator should attempt to return as much knowledge about the location as possible , as this increases the options available to the client . For example , in the ODO project , the client may contact a person via the phone or via a workstation 's audio hardware . The problem of location comparison is also an imporant issue . If we are to establish whether one returned location corroborates or conflicts with another , then some means of effectively comparing locations is needed . In the above example , the master locator for UKC should be able to establish that room SW103 is the same as the room with extension 3813 , which is the same as the room that houses rowan.ukc.ac.uk . 2.5 Efficiency and Strategy In many circumstances it is highly desirable that the location system should respond as quickly as possible . A typical example where performance is an issue is the setting up of phone calls . There is no point in keeping the caller waiting for all slaves to respond if at least one of them has already established the location of the target with a high enough level of confidence . Thus a strategy is needed to determine the sequencing of slave locator requests . A good strategy would take the following factors into consideration : ffl known characteristics and habits of the target person : if the person is known not to wear a badge , then there is little point in trying the badge slave locator first . On the other hand , the badge locator would probably be a good first choice for those known to wear one regularly ; ffl confidence level : if the confidence level for a returned location is below some threshold , then it would probably be worth consulting some other slave locator first . This may result in corroboration of the first location , or might return some other location , possibly with a higher confidence value ; ffl failed trials : assuming that the MLS only returns one location at a time , if the MLS returns a location which the client finds to be incorrect , then subsequent invocations by the client should not receive that location again , even if another slave corroborates it ; ffl slave locator delay characteristics : some slave locators may take longer to respond than others . The availability of expected response times for slave locators is useful in the formulation of efficient location policies . 2.6 Location policy Many of the factors discussed so far will be influenced by policies defined at both the organisation and individual level . The confidence function for badges may well be defined at the organisation level , whereas location strategy depends very much on the characteristics of the target entity . While organisation policy could be hard-wired into the master locator or supplied via a designated interface , a mechanism is needed whereby individuals can specify and alter their own policies . A good organisation policy would give individuals a lot of flexibility in areas where their habits tend to differ . An individual 's policy must be interpreted in the context of the constraints imposed by the organisation 's policy . For example , if an organisation possesses a slave locator which it knows to be highly reliable and efficient in locating all locatable entities within the organisation , then it can impose that this slave locator be tried first , regardless of the policies supplied for those entities . 2.7 Extensibility By ensuring that all slave locators present identical interfaces , a ` plug-and-play ' location system can be built . This will allow slaves to be added and withdrawn dynamically . If the master locator also has the same interface , then it can itself be used as a slave to a higher-level master , thereby facilitating federation of location systems . One case where this might be useful is when a remote site 's master locator needs to be consulted as part of a local location request . For example , an individual may specify that , as a last resort , an attempt should be made to locate him at some other site where he will be with some other specified person . Location Directory Master Locator System info Locator DiaryLocator Client OtherLocator Badge Locator Figure 1 : The ODO Location System 3 The ODO Location System The ODO location system was designed taking all the above factors into consideration . Figure 1 illustrates the relationship between master and slave locators and introduces a new component , namely the location directory , which is used to store information needed for the location process . 3.1 Location representation A location is represented as a list of name-value pairs -LRB- known as an attribute list in ODO -RRB- . There are standard names for attributes such as room number , extension number and resident user terminal1 . Where necessary a value may in fact consist of a list e.g. there may be more than one phone in the room . Two location representations are taken to refer to the same location if -LRB- i -RRB- they have at least one attribute name in commmon and , -LRB- ii -RRB- for every name in common , the values are either equal , or in the case of list values , share at least ONE common list member . If -LRB- i -RRB- is not satisfied then nothing can be inferred about the equivalence of the two locations . If -LRB- i -RRB- is satisfied but -LRB- ii -RRB- is not , then the locations are taken to be distinct2 . One of the roles of the location directory is as an aid to comparing location representations . This directory contains full location representations for all locations at a site . 1Examples of user terminals include workstation consoles and X terminals . 2The underlying assumption here is that any location representation returned by a locator represents a unique location . Whenever a location is returned by a slave , the master can expand this representation using data from the directory so that condition -LRB- i -RRB- is always satisfied when comparing locations . Expanding representations in this way serves to maximise the options available to the client . For example , if a slave returns a location in terms of a terminal name , then an expanded representation will probably also contain a room number and an extension number . 3.2 Location policy The location directory also serves as a repository for individuals ' location policies . A directory entry corresponding to an individual will contain attributes which collectively specify that individual 's location policy . Where no policy is specified by an individual , a default organisation policy is assumed . A directory entry pertaining to an individual may also contain data that is needed by one or more of the slaves . For example , a capability3 to read an individual 's diary may be left in that individual 's directory entry so that it may be passed on to the diary slave locator . At the organisation level , policy can be hard-wired into the master locator . For example , the corroboration function used to calculate a new confidence level when two slave locators agree on a location is established uniquely in the master locator . 3.3 Access control Control over access to location services is also by the use of capabilities . Each locator requires presentation of a valid capability before it can start to provide service . Access control is therefore achieved by limiting the availability of such capabilities . In ODO , capabilities are stored as attributes in directory entries . Users have their own personal directories where they can store information , including capabilities , pertaining to other users and services . Capabilities may also be made available in shared or public directories . Placing a capability in a directory effectively grants that capability to any user who has access to that directory . Access to directories is , in turn , also controlled by capabilities . This approach is extremely flexible , making it possible to limit access to designated individuals , groups , and/or organisations . Turning back to the location directory , whilst maintenance of directory entries for locations is best left to the system administrator , maintenance of directory entries for individuals is best left to the individuals themsleves . Individuals are given sufficently powerful capabilities corresponding to their respective location directory entries , allowing them to change their location policies and other attributes that may influence the location process . 3.4 Location session In order for a client to use the location system it must first establish a location session via the MLS . This is necessary because the MLS needs to maintain state pertaining to the client 's request , and because the client may need to communicate with the MLS several times before it obtains the information that it needs -LRB- or gives up -RRB- . For example , the MLS might first suggest one location which the client finds to be incorrect . Subsequently , the 3Capabilities are used extensively for access control in ODO . For an introduction to capability-based protection see -LSB- Mul89 -RSB- . client asks the MLS whether it can come up with another location . In order to do this , the MLS must have knowledge of the prior invocation and take the associated result into account i.e. it must remember the first incorrect location and must ensure that it is not proposed to the client again . For similar reasons , the MLS must itself initiate a session with each of the slave locators that it uses . Like the MLS , slave locators are also capable of proposing one more than one location , and the MLS may need to interact with them several times . This similarity is useful because it fits in nicely with the idea of using the same interface for both the MLS and its slaves . 3.5 Locator interface In accordance with the desire for a ` plug-and-play ' environment , the ODO location system uses the same interface for all locators , be they slave or master . Figure 2 shows the ANSAware IDL -LSB- Arc -RSB- specification for the Locator interface . The Locate operation receives a locator capability -LRB- a client can only invoke a locator if it has a capability for it -RRB- and a specification of the target individual -LRB- in ODO , individuals are also represented by attribute lists -RRB- . If successful , this operation opens a new location session and returns : ffl the location perceived most likely to be correct by the locator ; ffl an integer confidence level between and 100 , where indicates that the locator has no confidence in the returned location at all -LRB- but does not know it to be impossible -RRB- and 100 indicates absolute certainty ; ffl a session voucher which can be used to carry on with the location process if the returned location turns out to be wrong . In the event that a client finds the returned location to be incorrect , it can present the session voucher to NextLocation in order that it may obtain the next most likely location . If the list of all possible locations is exhausted , the locator returns L ListExhausted and closes the location session . If a client finds a returned location to be correct , it should terminate the location session by calling Release . Finally the GetInfo operation can be used to return the current status of a session . 3.6 Master locator algorithm In short , the algorithm works by placing possible locations on a priority queue on the basis of confidence level . When the topmost entry has a confidence level above a session threshold , this entry is returned . After all slaves have been exhausted , entries from the queue are returned until success is reported or the queue is exhausted . The remainder of this section describes the algorithm in greater detail using C++ - like pseudo-code . For simplicity , the description of the state and pseudo-code assume a single session . In practice , multiple instances of the state and corresponding multiple threads of execution can exist simultaneously , and references to state should therefore be interpreted as being relative to a session . Another simplification is that details pertaining to locator capabilities are omitted . Locator : INTERFACE = NEEDS Types ; BEGIN L_OpReason : TYPE = -LCB- L_LocatorFailure , L_ListExhausted , L_InvalidVoucher -RCB- ; L_LocateResult : TYPE = CHOICE OpStatus OF -LCB- OpSuccess = > RECORD -LSB- voucher : odo_Datum , -- location voucher loc : odo_DirEntry , conf : CARDINAL -RSB- , OpFailure = > L_OpReason -RCB- ; Locate : OPERATION -LSB- sc : odo_SCapability ; who : odo_DirEntry -RSB- RETURNS -LSB- L_LocateResult -RSB- ; NextLocation : OPERATION -LSB- voucher : odo_Datum -RSB- RETURNS -LSB- L_LocateResult -RSB- ; Release : OPERATION -LSB- voucher : odo_Datum -RSB- RETURNS -LSB- -RSB- ; L_GetInfoResult : TYPE = CHOICE OpStatus OF -LCB- OpSuccess = > RECORD -LSB- who : odo_DirEntry , loc : odo_DirEntry , conf : CARDINAL -RSB- , OpFailure = > L_OpReason -RCB- ; GetInfo : OPERATION -LSB- voucher : odo_Datum -RSB- RETURNS -LSB- L_GetInfoResult -RSB- ; END . Figure 2 : IDL specification for Locator interface exhausted = FALSE ; loc_queue . clear -LRB- -RRB- ; tried_list . clear -LRB- -RRB- ; cur_slave = loc_policy . list.first -LRB- -RRB- ; voucher = NULL ; Figure 3 : Session initialisation Session state For each session , the following state variables are maintained : ffl a target specification target , which is an attribute list that describes the entity to be located ; ffl a location policy loc policy , which consists of two fields , namely list , a list of references to slave locators , and threshold , a threshold confidence value ; ffl a priority queue loc queue , which is used to store the results of invocations on slave locators . Every element in the queue is a LocationEntry structure containing the fields loc for the location , and conf for the confidence level . The queue is ordered by decreasing confidence level ; ffl a list tried list , that records all locations returned by the master locator as the session progresses ; ffl a slave reference cur slave , that keeps track of the current slave , and a session voucher voucher , which stores the voucher that needs to be presented to the current slave in order to obtain the next location . The latter is initialised to NULL each time cur slave is updated . Subsequently , values are assigned to it from the results of invocations to Locate and NextLocation on the current slave locator interface ; ffl a flag exhausted , which is used to indicate that the policy 's list of slaves has been exhausted . For all lists -LRB- including loc queue , which is described in terms of a list -RRB- , it is assumed that the following operations exist : empty -LRB- -RRB- returns TRUE if the list is empty , FALSE otherwise ; contains -LRB- i -RRB- returns TRUE if the list contains i , FALSE otherwise ; first -LRB- -RRB- initialises an internal counter to point to the first item in the list and returns this item or NULL if the list is empty ; next -LRB- -RRB- advances the internal counter and returns the current item or NULL if the end of the list has been reached ; clear -LRB- -RRB- removes all items in the list ; append -LRB- i -RRB- adds the item i to the end of the list ; insert before -LRB- i , j -RRB- inserts the item j before item i in the list ; remove -LRB- i -RRB- removes the item i from the list . The label NULL is used to denote null -LRB- or zero -RRB- values and can assume any type as required by the context in which it is used . Session behaviour A master location session is automatically created when the Locate operation is invoked on the master locator interface . Assuming the location policy has been obtained -LRB- using the done = FALSE ; while -LRB- ! exhausted & & ! done -RRB- -LCB- if -LRB- voucher == NULL -RRB- -LCB- / / No current session if -LRB- cur_slave ! = NULL -RRB- -LCB- / / Have n't reached end of the policy rloc = cur_slave . Locate -LRB- target -RRB- ; / / Call Locate on current slave -RCB- else -LCB- / / No more slaves listed in policy exhausted = TRUE ; -RCB- -RCB- else -LCB- / / Session already open rloc = cur_slave . NextLocation -LRB- voucher -RRB- ; / / Call NextLocation on cur slave -RCB- if -LRB- ! exhausted -RRB- -LCB- / / If we have a result if -LRB- rloc denotes success -RRB- -LCB- / / containing a loc add_queue -LRB- rloc.loc , rloc.conf -RRB- ; / / add the loc to loc queue voucher = rloc.voucher ; / / update session voucher -RCB- else -LCB- / / This slave is no longer useful voucher = NULL ; / / Reset session voucher cur_slave = loc_policy . list.next -LRB- -RRB- ; / / Advance cur_slave -RCB- -RCB- / / We 've found next likely loc if the loc queue has something in it , and / / one loc 's confidence value is above the threshold done = -LRB- ! loc_queue . empty -LRB- -RRB- & & -LRB- loc_queue . first -LRB- -RRB- . conf > = loc_policy . threshold -RRB- -RRB- ; -RCB- if -LRB- ! loc_queue . empty -LRB- -RRB- -RRB- -LCB- / / If we have a loc to return LocationEntry le = loc_queue . first -LRB- -RRB- ; / / extract it loc_queue . remove -LRB- le -RRB- ; / / remove it from loc queue tried_list . append -LRB- le.loc -RRB- ; / / append it to tried list succeed -LRB- le -RRB- ; / / return this loc -RCB- else -LCB- fail -LRB- L_ListExhausted -RRB- ; / / Fail with reason L_ListExhausted -RCB- Figure 4 : Obtaining the next location add_queue -LRB- Location loc , int conf -RRB- -LCB- Expand loc using location directory if -LRB- ! tried_loc . contains -LRB- loc -RRB- -RRB- -LCB- / / If loc not returned already LocationEntry i ; / / Scan loc_queue , searching for an occurence of the same location for -LRB- i = loc_queue . first -LRB- -RRB- ; i ! = NULL ; i = loc_queue . next -LRB- -RRB- -RRB- -LCB- if -LRB- loc and i.loc describe the same place -RRB- -LCB- conf = corroborate -LRB- conf , i.conf -RRB- ; locqueue.remove -LRB- i -RRB- ; break ; -RCB- -RCB- / / Create a new location entry for the new location LocationEntry * le = new LocationEntry -LRB- loc , conf -RRB- ; / / Scan loc_queue , searching for appropriate place to insert le for -LRB- i = loc_queue . first -LRB- -RRB- ; i ! = NULL ; i = loc_queue . next -LRB- -RRB- -RRB- -LCB- if -LRB- i.conf < = conf -RRB- -LCB- break ; -RCB- -RCB- / / Insert le before first entry with a lower confidence value loc_queue . insert_before -LRB- i , * le -RRB- ; -RCB- -RCB- Figure 5 : The procedure add queue . supplied target entity specification and the master locator directory , or by copying the default location policy if the target entity has not provided a location policy -RRB- and is stored in loc policy , figure 3 illustrates the steps needed to initialise a master locator session . Once the session has been initialised , the Locate operation returns the first most likely location using the routine described in figure 4 . This routine is also used to obtain the next most likely location in the case of the NextLocation operation . The routine makes use of an additional local flag done to indicate that the next most likely location has been determined , and a variable rloc to receive the results of Locate and NextLocation invocations . add queue -LRB- -RRB- -LRB- figure 5 -RRB- inserts a location entry at the right place in the priority queue , but only if the location has not been tried already . If the location is already present in the queue , then its confidence level and position are updated if necessary . The new confidence level is calculated by applying a corroboration function . Note that this algorithm makes it impossible for the same location to appear in the queue more than once . Corroboration function : corroborate -LRB- -RRB- The corroboration function is determined by the organisation policy . Some possible choices are described here , highlighting a couple of important issues in the process . Given two confidence levels l1 and l2 , the corroboration function defined by l = max -LRB- l1 ; l2 -RRB- represents a ` quality rules over quantity ' policy . For example , if two slave locators both return confidence levels of 60 % for a location A , and another returns a confidence level of 61 % for location B , then the master locator returns B before A because the confidence level for B is higher than the combined levels for A , which is 60 % . A better function would increase a confidence level by some appropriate amount each time a locator expressed some confidence in the corresponding location . One possibility is : lmax = max -LRB- l1 ; l2 -RRB- lmin = min -LRB- l1 ; l2 -RRB- l = lmax + trunc -LRB- -LRB- lmin = 100 -RRB- ? -LRB- 100 ? lmax -RRB- -RRB- With this function , two 60 % 's for A would win over one 61 % for B because the corroboration function yields a confidence level of 84 % for A. However , because this function relies on min -LRB- -RRB- and max -LRB- -RRB- , it is sensitive to the order of arrival of confidence values . Finally , the function defined by : l = 100 ? -LRB- 100 ? l1 -RRB- ? -LRB- 100 ? l2 -RRB- = 100 preserves the intention of the previous one but remains insensitive to arrival order4 . 4 Tuning and performance indicators The framework encompasses several tuning points which can be used to make the system more effective . Suitable choices for confidence functions , thresholds , corroboration functions , and location policies can only be made on the basis of experience with a working system . However , the framework can provide some level of support by providing performance indicators . Such indicators can be compiled by the master locator by having it record a log for every location session . Each log is effectively a indication of how successful the client found the location results to be . Each time a client asks for the next possible location , this can be interpreted to mean that the previously returned location was found to be incorrect . On the other hand , an invocation of Release can be taken to indicate that the client found the last returned location to be correct . If , over a period of time , the total number of failures exceeds some chosen threshold then this indicates that some parameters may require adjustment . Detailed logging , such as recording the identity of slave locators and the confidence values they return , coupled with a comprehensive statistics reporting system , facilitates the 4The reasoning behind this function is as follows : let pA denote the probability that the location returned by locator A is correct , let pB denote the probability that the location returned by locator B is correct . Then the probability that both A and B are wrong is -LRB- 1 ? pA -RRB- -LRB- 1 ? pB -RRB- . We are interested in the probability that this does not happen i.e. that it is not the case that both A and B get it wrong . This probability is given by 1 ? -LRB- 1 ? pA -RRB- -LRB- 1 ? pB -RRB- . task of pin-pointing the parameters that need adjusting . For example , if the performance of the system as a whole is satisfactory , but is extremely poor for one particular entity , then a parameter pertaining to that specific entity -LRB- such as its location policy -RRB- may need adjusting . Or if it can be determined that one particular slave is not being very effective , regardless of the entity being located , then its confidence function might need to be changed . Is should be noted that ` optimum performance ' can mean different things to different users . One possible definition of optimum performance might relate to the number of slave locators used in a any one session , wherein the smaller the number of slaves used , the better the performance is considered to be . Another definition might relate to the time taken to locate an individual during office hours . It is therefore not possible to guage the performance implications of an individual 's policy without a reference context . A more sophisticated master locator might allow individuals to specify how performance is to be measured for their particular requirements so that it can warn them when their policy does not live up to their expectations . 5 Discussion Location systems are becoming of increasing importance in office automation -LSB- Hop94 -RSB- and universal personal telecommunications -LRB- UPT -RRB- -LSB- Lau94 -RSB- services . They are also useful in shared media-spaces such as Xerox 's RAVE -LSB- G +92 -RSB- , virtual reality systems , and memoryaid systems . There are often several potential sources of location and different approaches to location may be required for different locatable entities , depending on their habits and characteristics . In this paper we have described a framework for the integration of location services which allows multiple location mechanisms to co-exist and co-operate . The framework also gives the locatable entities some control over the approach used to locate them , so that each may choose an effective strategy to match its own mobility characteristics . We have also described how the framework provides support for performace tuning via indicators that report on the success rate of the locator , both on an individual entity basis and on a system-wide basis . We have built a prototype of the ODO location system , using ANSAware -LSB- Arc92 -RSB- as an engineering platform , and using the ORL active badge system and computer system login information as slave locators . This has been useful to demonstrate the principles behind our framework . We are using the prototype in order to determine what kinds of functions , values and policies are likely to be most useful . Acknowledgments This work was funded by EPSRC grant GR/G57864 . Mike Rizzo is currently sponsored by the University of Malta . We are grateful to Olivetti Research Limited for supplying us with an active badge system . References -LSB- Arc -RSB- Architecture Projects Management Limited , Poseidon House , Castle Park , Cambridge CB3 0RD , United Kingdom -LRB- apm@ansa.co.uk -RRB- . ANSAware 4.1 Application Programmer 's Manual . -LSB- Arc92 -RSB- Architecture Projects Management Limited , Poseidon House , Castle Park , Cambridge CB3 0RD , United Kingdom -LRB- apm@ansa.co.uk -RRB- . RM .099.02 : An Overview of ANSAware 4.1 , May 1992 . -LSB- BRH94 -RSB- Frazer Bennett , Tristan Richardson , and Andy Harter . Teleporting | making applications mobile . In Proceedings of 1994 Workshop on Mobile Computing Systems and Applications , Santa Cruz , December 1994 . -LSB- G +92 -RSB- William Gaver et al. . Realizing a video environment : EuroPARC 's RAVE system . In Proceedings of CHI ' 92 , Monterey , California . ACM SIGCHI , ACM Press , New York , May 1992 . -LSB- Hop94 -RSB- Andy Hopper . Communications at the desktop . Computer Networks and ISDN Systems , 26:1253 -LCB- 1265 , 1994 . -LSB- Lau94 -RSB- Gregory S. Lauer . IN architectures for implementing universal personal telecommunications . IEEE Network , 8 -LRB- 2 -RRB- :6 -LCB- 16 , March 1994 . -LSB- McC94 -RSB- John McCrone . Do n't forget your memory aide . New Scientist , pages 32 -LCB- 36 , February 1994 . -LSB- Mul89 -RSB- S.J. Mullender . Protection . In Sape Mullender , editor , Distributed Systems 1st ed , chapter 7 . Addison-Wesley , 1989 . -LSB- RLU94 -RSB- Mike Rizzo , Peter F. Linington , and Ian A. Utting . The ODO project : a case study in integration of multimedia services . Technical Report 12-94 , Computing Laboratory , University of Kent at Canterbury , Canterbury , Kent CT2 7NF , United Kingdom , August 1994 . -LSB- WHFG92 -RSB- Roy Want , Andy Hopper , Veronica Falcao , and Johnathon Gibbons . The active badge location system . ACM Transactions on Information Systems , 10 -LRB- 1 -RRB- :91 -LCB- 102 , January 1992 .

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O

active badges
distributed systems
location systems


R

u

t

c

o

r

Research

R

e

p

o

r

t

RUTCOR

ffl

Rutgers

Center

for

Operations

Research

ffl

Rutgers

University

ffl

P.O.

Box

ffl

New

Brunswick

New

Jersey

ffl

Telephone

Telefax

Email

rrr@rutcor.rutgers.edu

Decompositions

of

Positive

Self-Dual

Boolean

Functions

Jan

C.

Bioch

a

Toshihide

Ibaraki

b

RRR

May

aDepartment

of

Computer

Science

AI-section

Erasmus

University

Rotterdam

P.O.

Box

DR

Rotterdam

The

Netherlands

bioch@cs.few.eur.nl

bDepartment

of

Applied

Mathematics

and

Physics

Faculty

of

Engineering

Kyoto

University

Kyoto

Japan

ibaraki@kuamp.kyoto-u.ac.jp

Rutcor

Research

Report

RRR

May

Decompositions

of

Positive

Self-Dual

Boolean

Functions

Jan

C.

Bioch

Toshihide

Ibaraki

Abstract

A

coterie

which

is

used

to

realize

mutual

exclusion

in

a

distributed

system

is

a

family

C

of

subsets

such

that

any

pair

of

subsets

in

C

has

at

least

one

element

in

common

and

such

that

no

subset

in

C

contains

any

other

subset

in

C.

Associate

with

a

family

of

subsets

C

a

positive

Boolean

function

fC

such

that

fC

-LRB-

x

-RRB-

if

the

Boolean

vector

x

is

equal

to

or

greater

than

the

characteristic

vector

of

some

subset

in

C

and

otherwise

It

is

known

that

C

is

a

coterie

if

and

only

if

fC

is

dual-minor

and

is

a

non-dominated

-LRB-

ND

-RRB-

coterie

if

and

only

if

fC

is

self-dual

We

study

in

this

paper

the

decomposition

of

a

positive

self-dual

function

into

smaller

positive

self-dual

functions

as

it

explains

how

to

represent

and

how

to

construct

the

corresponding

ND

coterie

A

key

step

is

how

to

decompose

a

positive

dual-minor

function

f

into

a

conjunction

of

positive

self-dual

functions

fk

In

addition

to

the

general

condition

for

this

decomposition

we

clarify

the

condition

for

the

decomposition

into

two

functions

and

and

introduce

the

concept

of

canonical

decomposition

Then

we

present

an

algorithm

that

determines

a

minimal

canonical

decomposition

and

a

very

simple

algorithm

that

usually

gives

a

decomposition

close

to

minimal

The

decomposition

of

a

general

self-dual

function

is

also

discussed

Acknowledgements

This

paper

was

completed

while

the

first

author

visited

Kyoto

University

in

April

the

support

for

which

is

greatly

appreciated

RRR

Page

Introduction

Motivation

and

Results

A

coterie

C

originally

defined

in

-LSB-

-RSB-

is

a

family

of

subsets

of

an

underlying

set

ng

such

that

each

pair

of

subsets

in

C

has

at

least

one

element

in

common

and

no

subset

in

C

contains

any

other

subset

in

C

It

is

used

as

a

mechanism

to

realize

mutual

exclusion

-LSB-

-RSB-

in

a

distributed

system

a

task

can

enter

the

critical

section

only

if

it

can

get

agreements

from

all

the

members

in

a

subset

S

C

where

members

n

represent

the

sites

in

the

distributed

system

By

the

intersecting

property

of

a

coterie

C

it

is

guaranteed

that

at

most

one

task

can

enter

the

critical

section

at

a

time

if

each

site

is

allowed

to

issue

at

most

one

agreement

-LRB-

this

property

is

called

mutual

exclusion

-RRB-

Associate

with

a

family

of

subsets

C

a

positive

Boolean

function

fC

such

that

fC

-LRB-

x

-RRB-

if

and

only

if

the

Boolean

vector

x

is

equal

to

or

greater

than

the

characteristic

vector

of

some

subset

in

C

It

is

known

-LSB-

-RSB-

that

C

is

a

coterie

if

and

only

if

fC

is

dualminor

and

is

a

non-dominated

-LRB-

ND

-RRB-

coterie

if

and

only

if

fC

is

self-dual

-LRB-

see

Section

for

the

definitions

of

these

terms

-RRB-

Self-dual

functions

play

an

important

role

also

in

threshold

logic

-LSB-

-RSB-

regular

Boolean

functions

-LSB-

-RSB-

circuit

theory

-LSB-

-RSB-

and

other

areas

of

Boolean

functions

The

class

of

positive

self-dual

functions

is

closed

under

compositions

Therefore

one

of

the

fundamental

problems

in

this

field

is

how

to

decompose

a

given

positive

self-dual

function

into

smaller

positive

self-dual

functions

as

it

explains

how

to

represent

and

how

to

construct

the

corresponding

coterie

by

using

simpler

elements

It

was

shown

in

-LSB-

-RSB-

that

any

positive

self-dual

function

can

be

decomposed

into

a

set

of

basic

majority

functions

-LRB-

the

basic

majority

function

is

the

only

self-dual

function

containing

three

variables

-RRB-

However

the

argument

in

-LSB-

-RSB-

was

only

to

show

the

existence

of

such

a

decomposition

and

the

resulting

decomposition

may

be

far

from

the

minimum

Other

types

of

decompositions

are

also

found

in

-LSB-

-RSB-

In

this

paper

we

study

the

decomposition

of

a

positive

self-dual

function

in

a

more

systematic

manner

As

will

be

discussed

in

Section

a

key

step

in

this

procedure

is

how

to

decompose

a

given

positive

dual-minor

function

f

into

a

conjunction

of

positive

self-dual

functions

f

fk

We

first

derive

in

Section

the

general

condition

for

this

decomposition

and

then

give

in

Section

a

necessary

and

sufficient

condition

for

the

decomposition

into

two

functions

and

The

concept

of

canonical

decomposition

is

then

introduced

in

Section

by

restricting

the

above

self-dual

functions

fi

to

a

certain

type

and

an

algorithm

to

find

a

minimal

canonical

decomposition

is

given

in

Section

In

addition

to

these

we

give

in

Section

a

very

simple

and

efficient

algorithm

that

decomposes

a

given

positive

self-dual

function

into

basic

majority

functions

The

decomposition

of

a

general

self-dual

function

-LRB-

not

necessarily

positive

-RRB-

into

smaller

self-dual

functions

is

also

discussed

in

Section

and

a

relation

between

and

some

functions

used

in

the

minimal

canonical

decomposition

is

briefly

considered

in

Section

Page

RRR

The

complexity

issues

related

to

these

problems

are

mentioned

in

the

last

section

All

the

above

algorithms

are

of

polynomial

time

in

the

length

of

input

and

output

if

dualization

of

a

positive

Boolean

function

can

be

done

in

time

polynomial

in

the

length

of

its

input

and

output

However

the

latter

problem

is

still

not

solved

and

it

is

related

to

other

wellknown

open

problems

such

as

deciding

the

NDness

of

a

coterie

-LSB-

-RSB-

and

a

simple

hypergraph

-LSB-

-RSB-

More

detailed

discussion

on

these

subjects

can

be

found

in

the

accompanying

paper

-LSB-

-RSB-

Definitions

and

Basic

Properties

Coteries

Let

C

be

a

non-empty

family

of

subsets

of

the

non-empty

finite

set

ng

Then

C

is

called

a

coterie

if

the

following

conditions

are

satisfied

for

all

S

C

-LRB-

i

-RRB-

S

-LRB-

ii

-RRB-

S

-LRB-

minimality

-RRB-

-LRB-

iii

-RRB-

S

-LRB-

intersection

property

-RRB-

A

coterie

C

dominates

a

coterie

D

if

C

D

and

for

each

S

D

there

exists

a

C

such

that

S

A

coterie

C

is

called

non-dominated

-LRB-

ND

-RRB-

if

no

coterie

dominates

C.

ND

coteries

are

important

in

practice

since

those

are

the

coteries

with

maximal

efficiency

when

implemented

to

realize

mutual

exclusion

Positive

Boolean

functions

A

Boolean

function

or

in

short

a

function

is

a

mapping

f

Let

x

be

a

Boolean

vector

or

in

short

a

vector

If

f

-LRB-

x

-RRB-

-LRB-

resp

-RRB-

then

x

is

called

a

true

-LRB-

resp

false

-RRB-

vector

of

f

The

set

of

all

true

vectors

is

denoted

by

T

-LRB-

f

-RRB-

For

a

function

f

the

minimal

elements

in

T

-LRB-

f

-RRB-

are

called

the

minimal

true

vectors

of

f

and

the

set

of

all

minimal

true

vectors

is

denoted

by

minT

-LRB-

f

-RRB-

A

function

f

is

called

positive

or

monotone

if

x

y

always

implies

f

-LRB-

x

-RRB-

f

-LRB-

y

-RRB-

It

is

known

that

a

positive

function

f

is

uniquely

determined

by

minT

-LRB-

f

-RRB-

and

that

f

has

the

unique

minimal

disjunctive

form

-LRB-

MDF

-RRB-

consisting

of

all

the

prime

implicants

of

f

in

which

all

the

literals

of

each

prime-implicant

are

uncomplemented

There

is

a

one-to-one

correspondence

between

minT

-LRB-

f

-RRB-

and

the

set

of

all

prime

implicants

of

f

such

that

a

vector

v

corresponds

to

the

monomial

mv

defined

by

mv

xik

if

vij

j

k

and

vi

otherwise

For

example

vector

-LRB-

-RRB-

corresponds

to

the

monomial

Throughout

this

paper

the

constant

functions

f

and

f

are

denoted

respectively

by

and

Also

the

MDF

of

a

positive

function

such

as

f

is

represented

by

a

simplified

form

f

by

using

only

the

subscripts

of

literals

where

the

operator

is

used

as

an

alias

for

the

Boolean-or

operator

The

Boolean-and

operator

will

be

denoted

by

-LRB-

or

omitted

if

no

confusion

occurs

-RRB-

The

set

of

minimal

RRR

Page

true

vectors

of

the

above

function

is

minT

-LRB-

f

-RRB-

f

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

g

In

the

subsequent

discussion

the

operator

is

used

to

denote

the

disjoint

disjunction

h

f

g

h

f

g

and

fg

Dual-comparable

functions

The

dual

of

a

function

f

denoted

fd

is

defined

by

fd

-LRB-

x

-RRB-

f

-LRB-

x

-RRB-

where

f

and

x

denote

the

complement

of

f

and

x

respectively

As

is

well-known

the

MDF

expression

defining

fd

is

obtained

from

that

of

f

by

exchanging

-LRB-

or

-RRB-

and

-LRB-

and

-RRB-

as

well

as

the

constants

and

Denote

f

g

if

these

functions

satisfy

f

-LRB-

x

-RRB-

g

-LRB-

x

-RRB-

for

all

x

It

is

easy

to

see

that

-LRB-

f

g

-RRB-

d

fdgd

-LRB-

fg

-RRB-

d

fd

gd

f

g

implies

fd

gd

and

so

on

A

function

is

called

dual-minor

if

f

fd

and

dual-major

if

f

fd

f

is

called

dual-comparable

if

f

fd

or

f

fd

holds

and

self-dual

if

fd

f

For

example

f

is

dual-minor

since

fd

satisfies

f

fd

Similarly

the

dual

of

f

is

fd

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

This

function

f

is

self-dual

and

is

called

the

basic

majority

function

it

is

known

to

be

the

only

positive

self-dual

function

containing

three

variables

The

basic

majority

function

of

three

variables

x

y

z

is

sometimes

denoted

by

-LSB-

x

y

z

-RSB-

in

the

subsequent

discussion

There

is

no

positive

self-dual

function

of

two

variables

However

each

function

f

x

is

a

positive

self-dual

function

of

one

variable

Coteries

and

Boolean

functions

Let

C

be

a

family

of

subsets

of

ng

satisfying

the

minimality

condition

-LRB-

ii

-RRB-

With

C

we

associate

a

positive

function

fC

defined

by

fC

-LRB-

x

-RRB-

if

and

only

if

there

exists

a

subset

S

C

such

that

cv

-LRB-

S

-RRB-

x

where

the

characteristic

vector

y

cv

-LRB-

S

-RRB-

of

S

is

defined

by

yi

if

i

S

and

if

i

S

It

is

easy

to

verify

that

the

correspondence

C

minT

-LRB-

fC

-RRB-

is

one-to-one

Further

it

is

known

-LSB-

-RSB-

that

C

is

a

coterie

if

and

only

if

fC

is

dual-minor

and

that

C

is

an

ND-coterie

if

and

only

if

fC

is

self-dual

Contra-dual

functions

The

contra-dual

f

of

f

is

defined

by

f

-LRB-

x

-RRB-

f

-LRB-

x

-RRB-

For

example

the

contra-dual

of

f

is

f

where

i

stands

for

literal

xi

By

definition

T

-LRB-

f

-RRB-

f?xjx

T

-LRB-

f

-RRB-

g

and

hence

jT

-LRB-

f

-RRB-

j

jT

-LRB-

f

-RRB-

j

It

is

known

-LSB-

-RSB-

that

the

four

operations

identity

d

and

complementation

form

Klein

's

four-group

This

Page

RRR

means

that

these

operations

commute

are

idempotent

and

satisfy

the

relation

where

are

three

different

operations

-LRB-

f

-RRB-

d

-LRB-

fd

-RRB-

f

-LRB-

f

-RRB-

-LRB-

f

-RRB-

fd

-LRB-

fd

-RRB-

-LRB-

f

-RRB-

d

f

and

so

on

It

is

also

trivial

to

see

that

-LRB-

fg

-RRB-

f?g

-LRB-

f

g

-RRB-

f

g

f

g

-RRB-

f

g

and

so

on

If

f

is

dual-minor

-LRB-

resp

dual-major

-RRB-

then

so

is

f

since

f

fd

-LRB-

resp

f

fd

-RRB-

implies

f

-LRB-

fd

-RRB-

-LRB-

f

-RRB-

d

-LRB-

resp

f

-LRB-

f

-RRB-

d

-RRB-

If

f

is

dual-minor

the

areas

of

T

-LRB-

f

-RRB-

T

-LRB-

fd

-RRB-

and

T

-LRB-

f

-RRB-

can

be

illustrated

as

in

Fig.

in

which

notation

T

-LRB-

-RRB-

is

omitted

for

simplicity

In

the

case

of

a

dual-major

function

the

relation

between

f

and

fd

should

be

switched

A

function

f

is

called

anti-dual

-LRB-

or

self-contra-dual

-RRB-

if

f

f

It

is

easy

to

see

that

functions

ff

-LRB-

f

n

fd

-RRB-

fd

f

-LRB-

fd

n

f

-RRB-

and

f

f

are

all

anti-dual

Characterization

of

function

classes

The

following

lemmas

characterize

the

above

classes

of

functions

Most

of

their

proofs

are

straightforward

and

omitted

-LRB-

see

-LSB-

-RSB-

for

details

-RRB-

Lemma

Let

f

be

a

Boolean

function

-LRB-

i

-RRB-

f

is

dual-minor

if

and

only

if

one

of

the

following

holds

ff

x

T

-LRB-

f

-RRB-

-RRB-

x

T

-LRB-

f

-RRB-

-LRB-

ii

-RRB-

f

is

dual-major

if

and

only

if

one

of

the

following

holds

f

f

x

T

-LRB-

f

-RRB-

-RRB-

x

T

-LRB-

f

-RRB-

-LRB-

iii

-RRB-

f

is

self-dual

if

and

only

if

one

of

the

following

holds

f

f

f

f

-LRB-

disjoint

disjunction

-RRB-

x

T

-LRB-

f

-RRB-

x

T

-LRB-

f

-RRB-

-LRB-

iv

-RRB-

f

is

anti-dual

if

and

only

if

one

of

the

following

holds

fd

f

x

T

-LRB-

f

-RRB-

x

T

-LRB-

f

-RRB-

such

that

f

h

h

and

h

-LRB-

thus

h

-RRB-

is

dual-minor

Lemma

Let

f

be

a

positive

function

Then

f

is

dual-minor

if

and

only

if

every

pair

of

prime

implicants

mi

and

mj

in

its

MDF

has

at

least

one

literal

in

common

Other

properties

of

these

classes

of

functions

particularly

some

types

of

decompositions

are

discussed

in

-LSB-

-RSB-

RRR

Page

Decomposition

of

Positive

Self-Dual

Functions

Shannon

's

Decomposition

of

Self-Dual

Functions

The

so-called

Shannon

's

decomposition

expands

a

given

function

f

on

a

variable

x

as

follows

f

f

-LRB-

x

-RRB-

x

f

-LRB-

x

-RRB-

x

-LRB-

-RRB-

If

f

is

positive

and

self-dual

this

formula

becomes

f

g

gdx

-LRB-

-RRB-

where

g

f

-LRB-

x

-RRB-

is

positive

and

dual-minor

and

gd

-LRB-

f

-LRB-

x

-RRB-

-RRB-

d

f

-LRB-

x

-RRB-

is

positive

and

dual-major

-LSB-

-RSB-

It

is

also

known

that

any

positive

dual-minor

function

g

is

the

conjunction

of

positive

self-dual

functions

fk

g

fk

-LRB-

-RRB-

In

this

case

gd

can

be

given

by

gd

fk

-LRB-

-RRB-

Let

-LSB-

x

y

z

-RSB-

denote

the

basic

majority

function

of

three

variables

x

y

z

Then

decomposition

-LRB-

-RRB-

can

be

expressed

by

g

fk

-LRB-

fk

-RRB-

x

-LSB-

x

-LSB-

x

-LSB-

-LSB-

x

fk

fk

-RSB-

-RSB-

-RSB-

-RSB-

-LRB-

-RRB-

as

easily

proved

by

induction

starting

from

the

case

of

k

g

-LRB-

-RRB-

x

-LSB-

x

-RSB-

If

we

illustrate

the

basic

majority

function

-LSB-

x

y

z

-RSB-

as

in

Fig

-LRB-

a

-RRB-

the

above

expression

-LRB-

-RRB-

becomes

as

in

Fig.

-LRB-

b

-RRB-

Since

the

functions

fk

do

not

contain

the

variable

x

and

are

positive

and

self-dual

these

decompositions

can

be

repeatedly

applied

to

the

generated

functions

until

only

functions

of

one

variable

remain

If

we

interpret

each

such

decomposition

as

-LRB-

-RRB-

the

entire

process

yields

a

tree

shaped

decomposition

of

the

original

positive

self-dual

function

f

into

basic

majority

functions

This

is

called

the

B-decomposition

of

f

in

-LSB-

-RSB-

where

B

stands

for

binary

tree

A

key

step

in

the

B-decomposition

is

decomposition

-LRB-

-RRB-

of

a

positive

dual-minor

function

into

positive

self-dual

functions

Call

the

number

k

in

-LRB-

-RRB-

the

size

of

the

decomposition

If

the

size

of

each

decomposition

is

small

the

resulting

B-decomposition

will

become

small

However

no

attention

was

paid

in

-LSB-

-RSB-

to

minimize

size

k

but

only

the

existence

of

a

finite

k

was

shown

In

the

following

therefore

we

carry

out

a

more

careful

study

so

that

decompositions

-LRB-

-RRB-

with

small

sizes

can

be

realized

in

a

systematic

manner

Page

RRR

Decomposition

of

a

Dual-Minor

Function

Before

discussing

the

general

decomposition

-LRB-

-RRB-

we

consider

a

decomposition

into

two

selfdual

functions

which

may

not

be

positive

Let

f

be

a

dual-minor

function

Then

fd

f

fd

f

Since

fd

f

is

anti-dual

as

mentioned

in

Section

it

has

expression

fd

f

h

h

by

Lemma

-LRB-

iv

-RRB-

and

hence

fd

f

h

h

Now

let

f

h

and

f

h

-LRB-

-RRB-

which

are

illustrated

in

Fig.

Then

is

self-dual

since

fdhd

fd

-LRB-

h

f

f

-RRB-

fdh

f

h

f

where

the

properties

fd

f

hd

h

h

f

f

and

fdf

-LRB-

see

Fig.

-RRB-

are

used

Similarly

it

can

be

shown

that

Lemma

Let

a

function

f

be

dual-minor

Then

f

has

a

decomposition

f

into

self-dual

functions

and

which

are

given

by

-LRB-

-RRB-

Conversely

if

f

for

self-dual

functions

and

then

and

are

given

by

-LRB-

-RRB-

for

some

function

h

with

fd

f

h

h

Proof

The

first

part

was

already

proved

To

prove

the

second

part

note

that

f

and

f

by

f

Also

note

that

fd

and

hence

fd

f

f

f

Let

f

h

i.e.

h

f

Since

fd

f

is

anti-dual

and

is

self-dual

x

T

-LRB-

h

-RRB-

x

T

-LRB-

f

-RRB-

holds

This

implies

f

h

-LRB-

i.e.

f

h

-RRB-

In

this

lemma

of

f

and

is

assumed

to

be

positive

If

f

is

dual-minor

and

positive

then

we

can

show

that

one

of

the

and

say

can

be

positive

To

see

this

let

s

be

any

positive

self-dual

function

Since

s

s

-LRB-

see

Lemma

-LRB-

iii

-RRB-

-RRB-

and

jT

-LRB-

s

-RRB-

j

jT

-LRB-

s

-RRB-

j

the

set

T

-LRB-

s

-RRB-

occupies

exactly

half

of

the

set

of

all

Boolean

vectors

and

also

exactly

half

of

the

set

T

-LRB-

fd

f

-RRB-

-LRB-

see

Fig.

-RRB-

Now

we

choose

h

fd

f

s

so

h

f

fds

and

h

h

fd

f

Then

f

h

f

fd

f

s

f

fds

is

positive

and

self-dual

and

f

h

f

fds

is

self-dual

Theorem

A

positive

dual-minor

function

f

has

a

decomposition

f

where

and

are

self-dual

and

is

positive

Unfortunately

the

self-dual

function

is

not

generally

positive

For

example

it

can

be

proved

that

the

positive

dual-minor

function

f

can

not

be

the

conjunction

of

two

positive

self-dual

functions

We

shall

clarify

in

Section

when

such

decomposition

into

two

positive

self-dual

functions

is

possible

Now

in

order

to

consider

decomposition

-LRB-

-RRB-

into

k

self-dual

functions

we

introduce

the

next

definition

For

functions

f

and

g

define

the

extension

of

f

with

respect

to

g

by

f

g

f

fdg

-LRB-

-RRB-

If

g

is

self-dual

and

f

is

dual-minor

then

f

g

is

self-dual

since

-LRB-

f

g

-RRB-

d

fd

-LRB-

f

gd

-RRB-

fd

-LRB-

f

g

-RRB-

f

fdg

f

g

RRR

Page

Expression

-LRB-

-RRB-

may

be

considered

as

an

extension

of

Shannon

's

decomposition

-LRB-

-RRB-

in

the

sense

that

the

positive

self-dual

function

x

in

-LRB-

-RRB-

is

now

replaced

by

a

general

positive

selfdual

function

g

It

is

also

easy

to

see

that

if

g

is

self-dual

then

the

function

f

g

is

always

dual-major

and

that

if

g

is

self-dual

and

f

is

dual-major

then

f

g

f

Obviously

f

g

is

positive

if

so

are

both

f

and

g

If

we

have

more

than

one

self-dual

function

gk

then

f

-LRB-

gk

-RRB-

-LRB-

f

-RRB-

-LRB-

f

-RRB-

-LRB-

f

gk

-RRB-

holds

for

any

f

From

this

we

see

that

for

any

function

f

f

-LRB-

f

-RRB-

-LRB-

f

-RRB-

-LRB-

f

gk

-RRB-

gk

f

where

gk

are

all

assumed

to

be

self-dual

The

latter

condition

can

be

further

written

as

follows

gk

f

gk

f

f

since

it

is

easy

to

see

in

general

that

fg

h

g

h

f

-LRB-

-RRB-

Combining

these

properties

we

establish

the

next

theorem

Theorem

-LRB-

i

-RRB-

Let

f

be

a

dual-minor

function

Then

f

can

be

decomposed

into

k

self-dual

functions

-LRB-

f

gi

-RRB-

i

k

f

-LRB-

f

-RRB-

-LRB-

f

-RRB-

-LRB-

f

gk

-RRB-

-LRB-

-RRB-

defined

by

self-dual

functions

gk

if

and

only

if

gk

f

f

-LRB-

-RRB-

-LRB-

ii

-RRB-

Let

f

be

a

positive

dual-minor

function

Then

f

can

be

decomposed

into

k

positive

self-dual

functions

in

the

manner

of

-LRB-

-RRB-

where

gk

are

positive

self-dual

functions

if

and

only

if

condition

-LRB-

-RRB-

holds

In

decomposition

-LRB-

-RRB-

each

self-dual

function

-LRB-

f

gi

-RRB-

is

called

a

component

of

it

Note

that

decomposition

-LRB-

-RRB-

does

not

lose

any

generality

in

comparison

with

the

previous

decomposition

-LRB-

-RRB-

since

any

positive

self-dual

function

fi

with

fi

f

-LRB-

hence

fi

fd

-RRB-

can

obviously

be

represented

as

fi

f

fi

Example

f

fd

f

Page

RRR

where

this

f

is

positive

and

dual-minor

as

easily

checked

by

Lemma

A

set

of

positive

self-dual

functions

gk

satisfying

condition

-LRB-

-RRB-

is

for

example

given

by

In

fact

f

f

f

are

both

positive

and

self-dual

and

it

is

immediate

to

see

that

f

In

Section

we

shall

find

more

systematically

the

positive

self-dual

functions

gk

that

satisfy

Theorem

Decomposition

into

Two

Positive

Self-Dual

Functions

As

shown

in

Lemma

and

Theorem

a

positive

dual-minor

function

f

can

be

decomposed

into

f

where

f

h

and

f

h

are

self-dual

We

derive

here

the

condition

for

these

two

functions

to

be

positive

Assume

that

the

above

and

-LRB-

see

Fig.

-RRB-

are

both

positive

and

consider

the

set

M

of

minimal

true

vectors

in

minT

-LRB-

fd

-RRB-

which

are

not

in

minT

-LRB-

f

-RRB-

i.e.

M

minT

-LRB-

fd

-RRB-

n

minT

-LRB-

f

-RRB-

-LRB-

-RRB-

-LRB-

An

interpretation

of

set

M

will

be

given

in

Section

as

Theorem

-RRB-

Then

each

x

M

belongs

to

exactly

one

of

T

-LRB-

h

-RRB-

and

T

-LRB-

h

-RRB-

-LRB-

recall

that

M

T

-LRB-

fd

f

-RRB-

and

fd

f

h

h

-RRB-

Call

two

vectors

x

and

y

disjoint

if

there

is

no

i

such

that

xi

yi

If

x

and

y

in

M

are

disjoint

then

exactly

one

of

them

belongs

to

T

-LRB-

h

-RRB-

and

the

other

belongs

to

T

-LRB-

h

-RRB-

To

prove

this

assume

for

example

that

x

y

T

-LRB-

h

-RRB-

Since

x

and

y

are

disjoint

x

y

holds

and

y

T

-LRB-

-RRB-

by

the

positivity

of

f

h

Then

T

-LRB-

-RRB-

contains

both

y

and

y

and

is

not

self-dual

-LRB-

see

Lemma

-LRB-

iii

-RRB-

-RRB-

a

contradiction

Therefore

M

has

a

partition

into

M

T

-LRB-

h

-RRB-

and

M

T

-LRB-

h

-RRB-

such

that

neither

of

them

contains

a

disjoint

pair

of

vectors

Theorem

A

positive

dual-minor

function

f

has

a

decomposition

f

into

two

positive

self-dual

functions

and

if

and

only

if

set

M

of

-LRB-

-RRB-

has

a

partition

into

and

such

that

neither

of

them

contains

a

disjoint

pair

of

vectors

Proof

The

necessity

was

already

proved

To

prove

the

sufficiency

define

two

positive

functions

and

by

minT

-LRB-

fi

-RRB-

MinSet

-LRB-

Mi

-LSB-

minT

-LRB-

f

-RRB-

-RRB-

i

where

MinSet

-LRB-

A

-RRB-

gives

the

set

of

all

minimal

vectors

in

A

It

easily

follows

from

the

definition

that

f

f

and

fd

As

illustrated

in

Fig.

x

T

-LRB-

f

-RRB-

x

T

-LRB-

f

-RRB-

RRR

Page

and

x

T

-LRB-

fd

f

-RRB-

x

T

-LRB-

fd

f

-RRB-

That

is

for

any

x

either

exactly

one

of

x

and

x

belongs

to

T

-LRB-

f

-RRB-

or

both

of

x

and

x

belong

to

T

-LRB-

fd

f

-RRB-

Now

take

a

vector

x

T

-LRB-

f

-RRB-

Then

x

T

-LRB-

f

-RRB-

holds

for

otherwise

there

is

y

such

that

y

x

but

y

and

x

are

disjoint

and

contradict

the

assumption

on

A

symmetric

argument

also

applies

to

x

T

-LRB-

f

-RRB-

Consequently

for

any

x

exactly

one

of

x

and

x

belongs

to

T

-LRB-

-RRB-

and

hence

is

self-dual

Similarly

is

also

self-dual

This

argument

also

shows

that

f

The

existence

of

the

above

partition

and

can

be

found

by

constructing

an

undirected

graph

Gf

-LRB-

V

E

-RRB-

such

that

V

M

E

f

-LRB-

x

y

-RRB-

j

x

y

M

x

and

y

are

disjointg

It

is

easy

to

see

that

M

satisfies

the

condition

of

Theorem

if

and

only

if

Gf

has

two

independent

subsets

and

such

that

and

-LSB-

M

This

condition

can

be

stated

as

follows

Corollary

A

positive

dual-minor

function

f

has

a

decomposition

and

of

Theorem

if

and

only

if

Gf

is

bipartite

It

is

also

possible

to

define

Gf

over

the

node

set

minT

-LRB-

fd

-RRB-

instead

of

M

since

any

x

minT

-LRB-

fd

-RRB-

minT

-LRB-

f

-RRB-

and

any

y

M

are

not

disjoint

-LRB-

by

the

definition

of

fd

-RRB-

implying

that

such

x

has

nothing

to

do

with

the

bipartiteness

of

Gf

Example

-LRB-

i

-RRB-

Consider

the

following

f

and

fd

f

fd

Its

Gf

is

shown

in

Fig.

-LRB-

a

-RRB-

in

which

each

vector

x

M

is

represented

by

the

corresponding

monomial

This

Gf

is

obviously

bipartite

and

M

has

a

partition

into

the

following

two

independent

sets

Therefore

f

has

a

decomposition

f

into

two

positive

self-dual

functions

-LRB-

ii

-RRB-

Consider

the

following

f

and

fd

f

fd

Its

Gf

is

shown

in

Fig.

-LRB-

b

-RRB-

but

is

not

bipartite

i.e.

this

f

does

not

have

a

decomposition

into

two

positive

self-dual

functions

Page

RRR

Canonical

Decomposition

of

Positive

Self-Dual

Func

tions

Canonical

Decomposition

Recall

that

every

variable

xj

itself

is

a

positive

self-dual

function

If

gi

xji

are

used

for

all

i

k

the

decomposition

-LRB-

-RRB-

of

f

is

called

a

canonical

decomposition

A

canonical

decomposition

is

called

minimal

if

of

its

components

can

be

deleted

For

any

positive

function

f

it

always

holds

that

xn

f

f

and

hence

by

Theorem

we

have

a

canonical

decomposition

f

fn

fi

f

xi

i

n

In

other

words

any

positive

dual-minor

function

f

of

n

-LRB-

-RRB-

variables

can

always

be

decomposed

into

n

positive

self-dual

functions

However

we

usually

have

a

smaller

canonical

decomposition

Theorem

Let

f

be

positive

and

dual-minor

and

let

m

xjk

be

one

of

its

prime

implicants

Then

there

is

the

corresponding

canonical

decomposition

f

fjk

fji

f

xji

i

k

Proof

Immediate

from

Theorem

since

m

f

f

Example

Consider

a

positive

dual-minor

function

and

its

dual

f

fd

Then

by

Lemma

we

have

canonical

decompositions

f

where

fj

f

xj

However

some

of

these

are

not

minimal

since

there

is

another

canonical

decomposition

f

as

easily

checked

-LRB-

see

also

Example

-RRB-

This

example

shows

that

the

canonical

decompositions

of

Theorem

corresponding

to

prime

implicants

are

not

generally

minimal

though

these

usually

give

small

decompositions

We

consider

in

the

next

section

how

to

compute

minimal

canonical

decompositions

RRR

Page

Minimal

Canonical

Decomposition

In

order

to

derive

a

condition

for

minimal

canonical

decompositions

we

examine

the

condition

-LRB-

-RRB-

of

Theorem

more

carefully

Since

the

function

f

f

in

-LRB-

-RRB-

is

not

positive

we

define

the

positive

core

of

f

by

f

fh

j

h

f

f

h

positiveg

-LRB-

-RRB-

The

dual

of

f

is

denoted

by

f

and

is

called

the

positive

closure

of

f

It

is

easy

to

see

that

this

f

is

unique

since

the

disjunction

of

two

positive

functions

contained

in

f

f

is

also

positive

and

contained

in

f

f

Obviously

f

f

and

for

any

positive

function

h

h

f

f

h

f

i.e.

f

is

the

unique

maximal

positive

function

contained

in

f

f

Therefore

we

have

the

following

corollary

to

Theorem

Corollary

Let

f

be

a

positive

dual-minor

function

Then

f

has

a

canonical

decomposition

f

fjk

with

fji

f

xji

i

k

if

and

only

if

xjk

f

Furthermore

there

is

a

one-to-one

correspondence

between

the

minimal

canonical

decompositions

of

f

and

the

prime

implicants

of

f

Theorem

Let

f

be

a

positive

dual-minor

function

Then

f

fjk

is

a

minimal

decomposition

of

f

if

and

only

if

xjk

is

a

prime

implicant

of

f

Proof

This

directly

follows

from

Corollary

The

correspondence

between

the

minimality

and

the

prime

implicant

is

obvious

from

their

definitions

Now

we

turn

our

attention

to

how

to

compute

the

prime

implicants

of

f

starting

from

the

next

lemma

Lemma

Let

f

be

a

positive

function

The

following

conditions

are

all

equivalent

-LRB-

i

-RRB-

g

is

the

positive

core

of

f

-LRB-

ii

-RRB-

g

is

the

maximal

positive

function

such

that

g

g

f

f

-LRB-

iii

-RRB-

g

is

the

maximal

positive

function

such

that

fdg

f

-LRB-

iv

-RRB-

g

is

the

maximal

positive

function

such

that

gd?g

fd

f

-LRB-

v

-RRB-

gd

is

the

minimal

positive

function

such

that

gd

fd

f

Proof

-LRB-

i

-RRB-

-RRB-

-LRB-

ii

-RRB-

Since

g

f

f

and

function

f

f

is

anti-dual

we

have

g

f

f

and

hence

g

g

f

f

Further

f

g

implies

f

f

g

g

and

hence

f

f

g

g

If

h

is

a

positive

function

such

that

h

h

f

f

then

h

f

f

and

by

the

maximality

of

the

positive

core

g

we

conclude

h

g.

-LRB-

ii

-RRB-

-RRB-

-LRB-

iii

-RRB-

Let

g

be

the

maximal

positive

function

such

that

g

g

f

f

Then

fdg

f

for

g

g

f

f

implies

fd

-LRB-

g

g

-RRB-

f

-LRB-

see

-LRB-

-RRB-

-RRB-

By

the

maximality

of

g

in

-LRB-

ii

-RRB-

we

have

f

g.

From

these

we

conclude

that

fdg

f

It

is

easy

to

show

that

g

is

also

maximal

with

respect

to

this

property

-LRB-

iii

-RRB-

-RRB-

-LRB-

i

-RRB-

Obvious

since

fdg

f

implies

g

f

f

by

property

-LRB-

-RRB-

Page

RRR

The

equivalences

-LRB-

ii

-RRB-

-LRB-

iv

-RRB-

-LRB-

recall

that

gd?g

fd

f

is

the

dual

form

of

g

g

f

f

-RRB-

and

-LRB-

i

-RRB-

-LRB-

v

-RRB-

-LRB-

recall

that

gd

fd

f

is

the

dual

form

of

g

f

f

-RRB-

can

be

proved

similarly

Lemma

-LRB-

v

-RRB-

states

that

the

positive

closure

f

is

given

by

the

dual

form

of

-LRB-

-RRB-

f

fh

j

h

fd

f

h

positiveg

Lemma

Let

f

be

a

positive

function

Then

its

positive

closure

f

satisfies

minT

-LRB-

f

-RRB-

minT

-LRB-

fd

f

-RRB-

Proof

By

f

fd

f

-LRB-

Lemma

-LRB-

v

-RRB-

-RRB-

there

is

a

y

minT

-LRB-

f

-RRB-

such

that

y

x

for

any

x

minT

-LRB-

fd

f

-RRB-

If

y

x

then

take

all

x

-LRB-

i

-RRB-

minT

-LRB-

fd

f

-RRB-

i

p

such

that

y

x

-LRB-

i

-RRB-

and

z

x

-LRB-

i

-RRB-

for

any

z

-LRB-

y

-RRB-

minT

-LRB-

f

-RRB-

Define

a

positive

function

g

by

minT

-LRB-

g

-RRB-

-LRB-

minT

-LRB-

f

-RRB-

fyg

-RRB-

-LSB-

fx

-LRB-

i

-RRB-

j

i

pg

This

g

satisfies

g

f

and

f

g

fd

f

contradicting

the

minimality

of

f

Therefore

y

x

must

hold

and

hence

minT

-LRB-

f

-RRB-

minT

-LRB-

fd

f

-RRB-

Furthermore

if

minT

-LRB-

f

-RRB-

minT

-LRB-

fd

f

-RRB-

then

take

y

minT

-LRB-

f

-RRB-

n

minT

-LRB-

fd

f

-RRB-

and

define

a

positive

function

h

by

minT

-LRB-

h

-RRB-

-LRB-

minT

-LRB-

f

-RRB-

fyg

-RRB-

This

h

again

satisfies

h

f

and

f

h

fd

f

a

contradiction

This

proves

the

lemma

Lemma

Let

f

and

g

be

positive

functions

such

that

f

g

Then

minT

-LRB-

g

f

-RRB-

minT

-LRB-

g

-RRB-

n

minT

-LRB-

f

-RRB-

Proof

It

is

first

shown

that

minT

-LRB-

g

f

-RRB-

minT

-LRB-

g

-RRB-

n

T

-LRB-

f

-RRB-

-LRB-

-RRB-

for

any

positive

functions

f

and

g

Since

minT

-LRB-

g

f

-RRB-

minT

-LRB-

g

-RRB-

nT

-LRB-

f

-RRB-

is

obvious

we

only

need

to

prove

minT

-LRB-

g

f

-RRB-

minT

-LRB-

g

-RRB-

n

T

-LRB-

f

-RRB-

Assume

that

w

minT

-LRB-

g

f

-RRB-

but

w

minT

-LRB-

g

-RRB-

n

T

-LRB-

f

-RRB-

i.e.

there

is

y

minT

-LRB-

g

-RRB-

with

y

w.

However

y

T

-LRB-

g

-RRB-

and

y

T

-LRB-

g

f

-RRB-

imply

y

T

-LRB-

f

-RRB-

which

in

turn

implies

w

T

-LRB-

f

-RRB-

a

contradiction

Hence

-LRB-

-RRB-

is

proved

Next

minT

-LRB-

g

-RRB-

n

T

-LRB-

f

-RRB-

minT

-LRB-

g

-RRB-

n

minT

-LRB-

f

-RRB-

is

obvious

by

T

-LRB-

f

-RRB-

minT

-LRB-

f

-RRB-

Finally

if

we

assume

f

g

minT

-LRB-

g

-RRB-

n

minT

-LRB-

f

-RRB-

minT

-LRB-

g

-RRB-

n

T

-LRB-

f

-RRB-

is

also

obvious

since

any

x

minT

-LRB-

g

-RRB-

T

-LRB-

f

-RRB-

satisfies

x

minT

-LRB-

f

-RRB-

Theorem

Let

f

be

a

positive

dual-minor

function

Then

its

positive

closure

f

satisfies

minT

-LRB-

f

-RRB-

minT

-LRB-

fd

-RRB-

n

minT

-LRB-

f

-RRB-

Proof

Immediate

from

Lemmas

and

Noting

that

f

is

the

dual

of

f

we

now

have

the

following

algorithm

to

compute

all

prime

implicants

of

the

positive

core

f

Algorithm

POSITIVE-CORE

RRR

Page

Input

A

positive

dual-minor

function

f

Output

All

prime

implicants

of

f

Dualize

f

to

compute

all

prime

implicants

of

fd

Remove

all

prime

implicants

of

fd

that

are

also

prime

implicants

of

f

-LRB-

by

Theorem

the

resulting

set

gives

all

prime

implicants

of

f

-RRB-

Dualize

f

This

yields

all

prime

implicants

of

f

Example

We

apply

this

algorithm

to

the

positive

dual-minor

function

f

of

Example

f

fd

f

f

Therefore

by

Theorem

f

has

the

following

two

minimal

canonical

decompositions

and

no

others

f

and

f

Before

concluding

this

subsection

we

apply

Algorithm

POSITIVE-CORE

to

the

function

f

of

Example

-LRB-

i

-RRB-

Then

f

fd

and

hence

f

f

Therefore

any

minimal

canonical

decomposition

has

at

least

three

components

However

as

we

have

seen

in

Example

-LRB-

i

-RRB-

this

f

has

a

decomposition

into

two

components

showing

that

canonical

decompositions

do

not

generally

contain

a

decomposition

into

the

smallest

number

of

components

The

problem

of

finding

a

decomposition

with

the

smallest

number

of

components

appears

to

be

very

difficult

except

for

the

case

of

two

components

which

was

discussed

in

Section

A

Simple

B-Decomposition

Algorithm

Given

a

positive

self-dual

function

f

one

of

its

B-decomposition

-LRB-

explained

in

Section

-RRB-

can

be

obtained

by

recursively

applying

canonical

decompositions

to

all

the

positive

dualminor

functions

generated

by

Shannon

's

decomposition

The

entire

algorithm

is

described

by

two

procedures

SD

-LRB-

f

-RRB-

and

DM

-LRB-

f

-RRB-

SD

-LRB-

f

-RRB-

outputs

a

positive

dual-minor

function

g

obtained

by

Shannon

's

decomposition

-LRB-

-RRB-

applied

to

f

where

f

is

assumed

without

loss

of

generality

to

contain

at

least

three

variables

Given

a

positive

dual-minor

function

g

DM

-LRB-

g

-RRB-

then

computes

a

canonical

decomposition

g

fjk

obtains

positive

dual-minor

functions

gji

fji

-LRB-

xji

-RRB-

g

-LRB-

xji

-RRB-

i

k

and

then

recursively

calls

DM

-LRB-

gji

-RRB-

if

gji

Algorithm

SD

-LRB-

f

-RRB-

Choose

a

variable

x

of

f

Apply

Shannon

's

decomposition

f

g

gdx

where

g

f

-LRB-

x

-RRB-

Call

DM

-LRB-

g

-RRB-

-LRB-

Note

that

gd

in

step

is

not

explicitly

required

since

only

g

is

used

in

this

step

-RRB-

Page

RRR

Algorithm

DM

-LRB-

g

-RRB-

Find

a

monomial

m

xjk

such

that

m

g

-LRB-

i.e.

the

condition

of

Corollary

-RRB-

and

derive

the

corresponding

canonical

decomposition

g

fjk

fji

g

xji

i

k

For

each

of

the

positive

dual-minor

functions

gji

fji

-LRB-

xji

-RRB-

g

-LRB-

xji

-RRB-

i

k

call

DM

-LRB-

gji

-RRB-

if

gji

Example

Let

us

compute

a

B-decomposition

of

f

which

is

positive

and

self-dual

We

first

execute

SD

-LRB-

f

-RRB-

In

step

of

SD

-LRB-

f

-RRB-

choose

variable

x

and

we

have

g

f

-LRB-

-RRB-

Then

we

execute

DM

-LRB-

g

-RRB-

In

step

of

DM

-LRB-

g

-RRB-

choose

monomial

m

since

it

satisfies

g

as

discussed

in

Example

This

gives

the

canonical

decomposition

g

fi

g

xi

i

and

g

-LRB-

-RRB-

g

-LRB-

-RRB-

In

step

of

DM

-LRB-

g

-RRB-

we

first

call

DM

-LRB-

-RRB-

In

step

of

DM

-LRB-

-RRB-

choose

i.e.

with

xi

Then

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

and

no

new

call

to

DM

is

necessary

Since

the

call

to

DM

-LRB-

-RRB-

gives

the

same

result

and

the

entire

computation

halts

As

discussed

in

Section

each

Shannon

's

decomposition

g

fk

-LRB-

fk

-RRB-

x

can

be

realized

by

basic

majority

functions

in

the

manner

of

Fig

-LRB-

b

-RRB-

Therefore

by

tracing

the

decompositions

conducted

in

the

above

computation

we

can

obtain

the

corresponding

B-decomposition

of

f

which

is

shown

in

Fig.

RRR

Page

In

the

above

description

the

selection

rules

in

step

of

SD

and

DM

are

not

specified

We

may

employ

the

following

heuristic

rules

-LRB-

i

-RRB-

In

step

of

SD

-LRB-

f

-RRB-

choose

a

variable

x

that

is

not

contained

in

all

the

shortest

prime

implicants

of

f

-LRB-

As

a

result

of

this

rule

g

f

-LRB-

x

-RRB-

contains

a

shortest

prime

implicant

of

f

and

it

may

then

be

chosen

in

DM

-LRB-

g

-RRB-

as

the

monomial

for

decomposing

g.

-RRB-

-LRB-

ii

-RRB-

In

step

of

DM

-LRB-

g

-RRB-

choose

one

of

the

shortest

prime

implicants

m

of

g.

-LRB-

Such

m

always

gives

a

canonical

decomposition

by

Theorem

-RRB-

The

rule

-LRB-

ii

-RRB-

is

attractive

for

its

simplicity

since

the

computation

of

a

minimal

canonical

decomposition

as

described

in

Section

requires

the

dualization

operation

twice

On

the

contrary

computation

with

rule

-LRB-

ii

-RRB-

uses

no

dualization

operation

but

repeats

the

following

two

operations

Find

a

shortest

prime

implicant

m

xjk

of

a

given

function

g

-LRB-

instead

of

g

-RRB-

Compute

g

-LRB-

xji

-RRB-

i

k.

However

this

may

result

in

a

larger

B-decomposition

compared

with

the

one

obtainable

from

minimal

canonical

decompositions

Example

Consider

the

same

function

f

as

discussed

in

Example

SD

-LRB-

f

-RRB-

chooses

the

same

variable

x

and

we

have

the

same

g

as

that

of

Example

However

in

DM

-LRB-

g

-RRB-

step

chooses

say

m

since

this

is

one

of

the

shortest

prime

implicants

Then

we

obtain

g

fi

g

xi

i

where

gi

fi

-LRB-

xi

-RRB-

g

-LRB-

xi

-RRB-

DM

-LRB-

-RRB-

then

chooses

and

obtains

xi

i

where

-LRB-

xi

-RRB-

-LRB-

xi

-RRB-

Finally

DM

-LRB-

-RRB-

DM

-LRB-

-RRB-

and

DM

-LRB-

-RRB-

all

choose

their

unique

prime

implicants

and

halt

by

producing

only

functions

This

computation

gives

the

B-decomposition

of

Fig.

Note

that

it

is

larger

than

that

of

Fig.

since

the

first

function

f

is

decomposed

into

three

functions

in

this

case

while

it

was

decomposed

into

two

functions

in

Example

Page

RRR

Decomposition

of

General

Self-Dual

Functions

We

show

here

that

the

B-decomposition

into

basic

majority

functions

can

be

extended

to

a

general

self-dual

function

f

which

may

not

be

positive

First

note

that

Shannon

's

decomposition

-LRB-

-RRB-

in

this

case

yields

f

g?x

gdx

where

g

f

-LRB-

x

-RRB-

and

gd

-LRB-

f

-LRB-

x

-RRB-

-RRB-

d

f

-LRB-

x

-RRB-

Since

g?x

is

dual-minor

-LRB-

in

the

sense

of

the

condition

in

Lemma

-LRB-

i

-RRB-

i.e.

w

T

-LRB-

g?x

-RRB-

-RRB-

w

T

-LRB-

g?x

-RRB-

-RRB-

it

can

be

decomposed

into

two

self-dual

functions

and

g?x

g?x

y

g?x

-LRB-

gd

x

-RRB-

y

gd?y

-LRB-

g

y

-RRB-

x

g?x

y

g?x

-LRB-

gd

x

-RRB-

y

gdy

-LRB-

g

y

-RRB-

x

where

y

is

a

variable

of

f

Note

that

m

y?y

always

satisfies

condition

-LRB-

-RRB-

of

Theorem

Therefore

by

-LRB-

-RRB-

we

get

f

-LSB-

x

-RSB-

However

and

may

still

contain

variable

x.

To

get

rid

of

x

we

again

apply

the

above

decomposition

to

gd?y

of

and

to

gdy

of

i.e.

gd?y

gd?y

y

y

gd?y

y

gd?y

gy

gdy

gdy

y

gdy

g?y

gdy

y

y

This

yields

-LSB-

x

-RSB-

and

-LSB-

x

-RSB-

and

hence

f

-LSB-

x

-LSB-

x

-RSB-

-LSB-

x

-RSB-

-RSB-

-LRB-

-RRB-

Note

that

functions

are

again

self-dual

and

do

not

contain

x

or

x.

Therefore

it

is

possible

to

repeat

the

same

operation

to

the

generated

self-dual

functions

until

only

functions

of

one

variable

remain

The

whole

process

gives

a

B-decomposition

of

f

Example

The

odd

parity

function

f

-LRB-

-RRB-

-LRB-

-RRB-

can

be

decomposed

into

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

RRR

Page

where

y

is

used

From

these

we

get

a

B-decomposition

f

-LSB-

-LSB-

-RSB-

-LSB-

-RSB-

-RSB-

Since

all

self-dual

functions

of

at

most

three

variables

are

unate

-LRB-

i.e.

its

MDF

form

contains

only

complemented

literals

or

only

uncomplemented

literals

for

each

variable

-RRB-

the

above

discussion

shows

that

any

self-dual

function

can

be

composed

of

unate

self-dual

functions

An

Interpretation

of

f

In

concluding

Section

we

point

out

that

fd

f

and

f

of

a

positive

function

f

have

an

interesting

interpretation

Let

F

be

a

family

of

subsets

S

V

where

V

ng

In

other

words

-LRB-

V

F

-RRB-

is

a

hypergraph

with

node

set

V

and

edge

set

F

A

function

c

V

fr

bg

is

called

a

if

each

S

F

satisfies

c

-LRB-

S

-RRB-

frg

and

c

-LRB-

S

-RRB-

fbg

In

discussing

a

it

is

easy

to

show

that

any

T

F

such

that

T

oe

S

for

some

S

F

can

be

deleted

without

affecting

the

existence

of

a

Hence

we

assume

without

loss

of

generality

that

no

T

F

contains

other

S

F

as

a

subset

i.e.

hypergraph

-LRB-

V

F

-RRB-

is

simple

Define

the

positive

function

fF

from

F

as

discussed

in

Section

and

represent

a

coloring

c

by

a

vector

x

defined

by

xi

if

c

-LRB-

i

-RRB-

r

and

if

c

-LRB-

i

-RRB-

b

Then

it

is

not

difficult

to

see

that

x

is

a

coloring

of

F

y

x

and

y

x

for

any

y

T

-LRB-

fF

-RRB-

fF

-LRB-

x

-RRB-

and

fF

-LRB-

x

-RRB-

-LRB-

by

the

positivity

of

fF

-RRB-

x

T

-LRB-

fdF

fF

-RRB-

-LRB-

by

the

definition

of

fdF

and

fF

-RRB-

Therefore

function

fdF

fF

represents

the

set

of

all

of

F

Now

consider

the

positive

core

fF

of

fF

By

Lemma

-LRB-

iv

-RRB-

g

fF

satisfies

gd?g

fd

f

That

is

the

family

of

sets

F

corresponding

to

fF

has

the

same

set

of

as

the

original

F

Furthermore

by

the

maximality

of

g

fF

an

addition

of

any

subset

T

to

F

such

that

no

S

F

satisfies

S

T

destroys

this

property

i.e.

changes

the

set

of

In

this

sense

such

F

is

saturated

with

respect

to

Discussion

We

have

not

discussed

so

far

the

complexity

issues

of

the

problems

introduced

in

this

paper

Those

problems

include

To

decide

if

a

positive

function

f

is

self-dual

-LRB-

i.e.

if

a

coterie

is

non-dominated

-RRB-

To

compute

the

extension

f

g

of

a

positive

dual-minor

function

f

with

respect

to

a

positive

self-dual

function

g

Page

RRR

To

construct

graph

Gf

of

a

positive

dual-minor

function

f

defined

in

Section

-LRB-

i.e.

to

decide

if

there

is

a

decomposition

into

two

positive

self-dual

functions

-RRB-

To

compute

the

positive

core

f

of

a

given

positive

dual-minor

function

-LRB-

i.e.

Algorithm

POSITIVE-CORE

-RRB-

in

order

to

obtain

a

minimal

canonical

decomposition

To

compute

minT

-LRB-

f

-RRB-

minT

-LRB-

fd

f

-RRB-

-LRB-

i.e.

to

obtain

all

of

the

family

of

subsets

defined

by

f

-RRB-

It

is

obvious

that

these

problems

can

be

solved

in

time

polynomial

in

the

length

of

its

input

and

output

if

dualization

of

a

positive

function

is

possible

in

polynomial

time

with

respect

to

its

output

length

jfdj

as

well

as

its

input

length

jf

j

where

j

j

denotes

the

length

of

its

MDF

form

Unfortunately

it

is

not

known

yet

whether

this

dualization

can

be

done

in

polynomial

time

or

not

It

is

known

however

that

the

dualization

of

a

general

Boolean

function

is

NP-hard

and

that

some

special

classes

of

positive

functions

have

polynomial

time

dualization

algorithms

-LRB-

e.g.

-LSB-

-RSB-

-RRB-

Problem

above

is

also

a

well-known

open

problem

first

stated

in

-LSB-

-RSB-

The

reader

may

find

many

related

topics

on

these

problems

in

such

references

as

-LSB-

-RSB-

Also

in

our

accompanying

paper

-LSB-

-RSB-

the

equivalences

among

some

of

these

problems

and

several

problems

taken

from

different

areas

such

as

computational

learning

theory

are

discussed

It

is

known

however

that

deciding

if

a

positive

function

f

is

dual-minor

can

be

done

in

polynomial

time

by

using

Lemma

and

that

deciding

if

a

positive

function

f

is

dual-major

is

coNP-complete

-LRB-

e.g.

-LSB-

-RSB-

equivalent

results

can

also

be

found

in

-LSB-

-RSB-

and

others

-RRB-

Note

that

the

latter

does

not

imply

that

problem

is

coNP-complete

since

it

essentially

asks

if

a

positive

dual-minor

function

f

is

simultaneously

dual-major

However

for

general

Boolean

functions

it

is

proved

in

-LSB-

-RSB-

that

the

problem

of

dediding

whether

a

dual-minor

function

is

dual-major

is

coNP-complete

and

that

the

computation

of

f

is

NP-hard

It

is

also

obvious

that

Algorithms

SD

-LRB-

f

-RRB-

and

DM

-LRB-

g

-RRB-

in

Section

run

in

polynomial

time

if

the

simplified

rules

-LRB-

i

-RRB-

and

-LRB-

ii

-RRB-

are

employed

Finally

the

functions

fd

f

f

and

f

defined

in

this

paper

may

deserve

further

attention

We

gave

an

interesting

interpretation

of

these

functions

in

Section

They

may

play

an

important

role

also

in

other

applications

Acknowledgments

The

authors

appreciate

the

discussion

with

Hiroshi

Nagamochi

and

Kazuhisa

Makino

of

Kyoto

University

and

thank

Patrick

van

der

Laag

of

Erasmus

University

for

getting

things

right

in

LaTEX

This

work

was

partially

supported

by

a

Grant

in

Aid

by

the

Ministry

of

Education

Science

and

Culture

of

Japan

The

second

author

gratefully

acknowledges

the

partial

support

given

to

Rutcor

by

the

Office

of

Naval

Research

-LRB-

grants

and

-RRB-

and

by

the

Air

Force

Office

of

Scientific

Research

-LRB-

grant

-RRB-

RRR

Page

References

-LSB-

-RSB-

J.C.

Bioch

Decompositions

of

coteries

and

Boolean

functions

Tech

Rep.

Dept.

of

Computer

Science

No.

Erasmus

University

Rotterdam

The

Netherlands

January

-LSB-

-RSB-

J.C.

Bioch

and

T.

Ibaraki

Complexity

of

dualization

and

identification

of

positive

Boolean

functions

Tech

Rep.

Dept.

of

Computer

Science

Erasmus

University

Rotterdam

The

Netherlands

to

appear

-LSB-

-RSB-

E.

Boros

P.L.

Hammer

T.

Ibaraki

and

K.

Kawakami

Identifying

positive

Boolean

functions

in

polynomial

time

ISA

Algorithms

edited

by

W.

L.

Hsu

and

R.C.T.

Lee

Springer

Lecture

Notes

in

Computer

Science

-LRB-

-RRB-

-LSB-

-RSB-

Y.

Crama

Dualization

of

regular

Boolean

functions

Discrete

Applied

Mathematics

-LRB-

-RRB-

-LSB-

-RSB-

S.B.

Davidson

Replicated

data

and

Partition

Failures

In

S.

Mullender

-LRB-

ed

-RRB-

Distributed

Systems

Ch

Addison

Wesley

-LSB-

-RSB-

T.

Eiter

and

G.

Gottlob

Identifying

the

minimal

transversals

of

a

hypergraph

and

related

problems

Technical

Report

CD-TR

Christial

Doppler

Labor

f?ur

Expertensysteme

Technische

Universit?at

Wien

January

-LSB-

-RSB-

H.

Garcia-Molina

and

D.

Barbara

How

to

assign

votes

in

a

distributed

system

J.

ACM

-LRB-

-RRB-

-LSB-

-RSB-

P.R.

Halmos

Lectures

on

Boolean

Algebras

Princeton

NJ

Van

Nostrand

-LSB-

-RSB-

T.

Ibaraki

and

T.

Kameda

A

boolean

theory

of

coteries

Proc

IEEE

Symp

on

Parallel

and

Distributed

Processing

Dallas

Texas

-LRB-

-RRB-

-LSB-

-RSB-

T.

Ibaraki

and

T.

Kameda

Theory

of

coteries

Mutual

exclusion

in

distributed

systems

Tech

Rep.

CSS/LCCR

TR

Simon

Fraser

University

to

appear

in

IEEE

Trans

on

Parallel

and

Distributed

Systems

-LSB-

-RSB-

D.S.

Johnson

M.

Yannakakis

and

C.H.

Papadimitriou

On

generating

all

maximal

independent

sets

Information

Processing

Letters

-LRB-

-RRB-

-LSB-

-RSB-

L.

Lamport

Time

clocks

and

the

ordering

of

events

in

a

distributed

system

Comm

of

the

ACM

-LRB-

-RRB-

-LSB-

-RSB-

S.

Muroga

Threshold

Logic

and

Its

Applications

Wiley-Interscience

-LSB-

-RSB-

M.L.

Neilsen

and

M.

Mizuno

Coterie

join

algorithm

IEEE

Trans

on

Parallel

and

Distributed

Systems

to

appear

Page

RRR

-LSB-

-RSB-

U.N.

Peled

and

B.

Simeone

Polynomial-time

algorithm

for

regular

set-covering

and

threshold

synthesis

Discrete

Applied

Mathematics

-LRB-

-RRB-

-LSB-

-RSB-

I.

Wegener

The

Complexity

of

Boolean

Functions

Wiley-Teubner

coteries
mutual exclusion
positive boolean functions

decomposition of self-dual functions
dual-minor functions
self-dual functions