Detecting global predicates in distributed systems with clocks Summary. This paper proposes a framework for detecting global state predicates in systems of processes with approximately-synchronized real-time clocks. Timestamps from these clocks are used to define two orderings on events: "definitely occurred before" and "possibly occurred before". These orderings lead naturally to definitions of 3 distinct detection modalities, i.e., 3 meanings of "predicate Φ held during a computation", namely: Poss db → Φ ("Φ possibly held"), Def db → Φ ("Φ definitely held"), and Inst Φ ("Φ definitely held in a specific global state"). This paper defines these modalities and gives efficient algorithms for detecting them. The algorithms are based on algorithms of Garg and Waldecker, Alagar and Venkatesan, Cooper and Marzullo, and Fromentin and Raynal. Complexity analysis shows that under reasonable assumptions, these real-time-clock-based detection algorithms are less expensive than detection algorithms based on Lamport's happened-before ordering. Sample applications are given to illustrate the benefits of this approach. A history of a distributed system can be modeled as a sequence of events. Since execution of a particular sequence of events leaves the system in a well-defined global state, a history uniquely determines the sequence of global states through which the system has passed. Unfortunately, in a distributed system without perfect clock synchronization, it is, in general, impossible for a process to determine the order in which events on different processors actually occurred. Therefore, no process can determine the sequence of global states through which the system passed. This leads to an obvious difficulty for detecting whether a global state predicate (hereafter simply called a "predicate") held.. A preliminary description of this work appeared in [32] . The author gratefully acknowledges the support of NSF under CAREER Award CCR-9876058 and the support of ONR under Grant N00014-99-1-0358.. Cooper and Marzullo proposed a solution for asynchronous distributed systems [6] . Their solution involves two modalities, which we denote by Poss hb → ("possibly") and Def hb → ("definitely"). These modalities are based on logical time [19] as embodied in the happened-before relation hb →, a partial ordering 1 of events that reflects potential causal dependencies. Happened-before is not a total order, so it does not uniquely determine the history, but it does restrict the possibilities. Given a predicate Φ, a computation satisfies Poss hb → Φ iff there is some interleaving of events that is consistent with happened-before and in which the system passes through a global state satisfying Φ. A computation satisfies Def hb → Φ iff for every interleaving of events that is consistent with happened-before, the system passes through a global state satisfying Φ.. Cooper and Marzullo's definitions of these modalities established an important conceptual framework for predicate detection in asynchronous systems, which has been the basis for considerable research [4, 5, 8, 12-14, 18, 34] . In practice, though, Poss hb → , Def hb → , and other modalities based on happened-before have significant drawbacks in many cases. First, in many systems, it is difficult to determine the happened-before relation. Happened-before can be determined if each process maintains a vector clock. This requires that a vector timestamp with O(N ) components be attached to every message, where N is the number of processes in the system, and imposes computational overhead of O(N ) operations per message received (to update the vector clock). Generating code that inserts and removes the vector timestamps without changing the existing types in the programs (which would open a can of worms) or copying entire messages (which is inefficient) can be difficult. If the programs use a stream-oriented communication protocol that does not provide message boundaries, such as TCP, the difficulty is significantly compounded, since a receiver might receive a fragment of a "message" or several "messages" in a single receive event. Furthermore, piggybacking vector timestamps requires changing all communication statements in the application, even if the predicate of interest involves the state of only one module. If source code is not available for part of the system, this might be impossible. Happened-before can be determined without vector clocks, if all processes inform the monitor of all send events and receive events and provide the monitor with enough information to determine the correspondence between send and receive events (i.e., for each receive event, the monitor can determine which send event sent the received message). However, this method often has significant drawbacks, too. In general, determining the correspondence between send and receive events requires piggybacking an identifier (e.g., a sequence number) on each message; this involves the same difficulties as piggybacking a vector timestamp. 2 An additional drawback of this method is that the monitor must be informed of all send events and receive events. With vector timestamps (or if the happened-before relation is not needed), it suffices to inform the monitor only of events that might change the truth value of the predicate of interest; 3 this can significantly reduce the amount of information sent to the monitor.. A second drawback of detecting Poss hb → Φ or Def hb → Φ is the computational cost: the worst-case time complexity is Ω(E N ), where E is the maximum number of events executed by any process. The worst case occurs when there is little or no communication and hence few causal dependencies, so that many interleavings must be explored. For example, this exponential cost was seen in two sample applications considered in [33] , namely, a coherence protocol and a spanning-tree algorithm. A third drawback is that, in systems with hidden channels [2] (i.e., means of communication other than messages), happened-before does not accurately capture causal relationships, so Poss hb → Φ and Def hb → Φ do not accurately capture the meanings of "possibly held" and "definitely held". This paper proposes a framework for predicate detection in systems with approximately-synchronized real-time clocks. Timestamps from these clocks can be used to define two orderings on events: db → ("definitely occurred before") and pb → ("possibly occurred before"). By (roughly speaking) substituting each of these orderings for happened-before in [9, 10] , and we adapt for detecting Inst an algorithm of theirs for detecting Properly hb → . Our detection framework is applicable to a wide range of systems, since it does not require that clocks be synchronized to within a fixed bound. However, the quality of clock synchronization does affect the two event orderings just described and therefore the results of detection. For example, consider Inst Φ. Informally, a computation satisfies Inst Φ iff the timestamps imply that there was an instant during the computation when predicate Φ held, i.e., iff there is some collection of local states that form a global state satisfying Φ and that, based on the timestamps, definitely overlapped in time. Suppose Φ actually holds in a global state g that persists for time δ. Whether Inst Φ holds depends on the quality of synchronization. Roughly, if the maximum difference between clocks is known to be less than δ, then Inst Φ holds; otherwise, there is in some cases no way to determine whether the local states in g actually overlapped in time, so Inst Φ might not hold.. The quality of clock synchronization affects also the cost of detection. For example, consider Poss db → Φ. Informally, a computation satisfies Poss db → Φ iff there is some collection of local states that form a global state satisfying Φ and that, based on the timestamps, possibly overlapped in time. The larger the error in clock synchronization, the more combinations of local states possibly overlap. In general, Φ must be evaluated in each such combination of local states. Thus, the larger this error, the more expensive the detection. If this error is bounded relative to the mean interval between relevant events (i.e., events that potentially truthify or falsify Φ), then the number of global states that must be checked is linear in E. In the asynchronous case, the number of global states that must be checked is O(E N ). The above condition on the error in clock synchronization holds in many systems. In most local-area distributed systems, protocols like NTP can efficiently maintain synchronization of clocks to within a few milliseconds [28] . Even in extremely wide-area distributed systems like the Internet, clock synchronization can usually be maintained to within a few tens of milliseconds [26, 28] . The detection framework and algorithms proposed here are designed to provide a basis for monitoring and debugging applications in such systems. Some sample applications are described in Sect. 7, including applications in which clocks and timers provide a hidden channel, causing detection based on happened-before to be less appropriate. These examples also illustrate that the clocks are available to the monitored processes as well as the detection algorithm.. Directions for future work include: implementing the detection algorithms described above; developing efficient algorithms for detecting global properties that depend explicitly on time; and investigating clock-based detection of sequences of global states, perhaps along the lines of temporal modalities based on happened-before [3, 11, 17] . Marzullo and Neiger [24] discuss global property detection in partially-synchronous systems in which a fixed bound on the error between clocks is known. In the notation of this paper, they define modalities Poss hd → and Def hd → , where. →, and give detection algorithms for these two modalities. Combining happened-before and real-time ordering exploits more information about the computation and hence can reduce the number of explored global states (compared to using either ordering alone). This is certainly desirable whenever it is feasible. Modifying the algorithms in this paper to take happened-before into account is a straightforward exercise, and the resulting algorithms would be appropriate for monitoring some systems. This paper presents algorithms that do not use happened-before for three reasons. First and most important, as discussed in Sect. 1, it is often difficult in practice to modify a system so that the monitor can determine the happened-before relation; consequently, detection algorithms that depend on happened-before have limited applicability. 4 Second, not using happened-before enables some optimizations (specifically, those involving priority queues) that are impossible if causal ordering is also used. Third, incorporating happened-before would have obscured the presentation and complexity analysis of the realtime-based parts of the algorithms, which are the novel parts.. Contributions of this paper relative to [24] include: detection algorithms based purely on real-time clocks; more efficient detection algorithms; and definition of an algorithm for Inst. [24] does not consider any modality analogous to Inst. Also, [24] assumes a fixed bound on the error in clock synchronization. Our framework allows that bound to vary over time; this supports tighter bounds hence more accurate monitoring results.. An attractive feature of Properly hb → [9, 10] and Inst is that the monitor can report a single global state g satisfying Φ that the system actually passed through. Def does not have this feature. However, Properly hb → gives useful information only about systems that perform global (i.e., system-wide) barrier synchronization. Such synchronization is expensive and rarely used. In contrast, assuming reasonably good clock synchronization, Inst is informative even in the absence of barrier synchronization. Since Inst, like Properly hb → , can be detected efficiently for arbitrary predicates, it appears to be a useful modality.. The "possibly occurred before" relation pb → is reminiscent of Lamport's "can affect" relation for concurrent systems [21, 22] . Both relations may contain cycles because of overlap: for pb →, overlap of interval timestamps; for "can affect", overlap of non-atomic events. Our framework assumes events are atomic; this is appropriate for systems with message-based communication.. Veríssimo [35] discusses the uncertainty in event orderings caused by the granularity 5 and imperfect synchronization of digital real-time clocks, analyzes the conditions under which this uncertainty is significant for an application, and describes a synchronization technique, suitable for certain applications, that masks this uncertainty. However, [35] does not aim for a general approach to detecting global properties in the presence of this uncertainty.. Mayo and Kearns [25] present two detection algorithms for distributed systems with partially-synchronized clocks. Both algorithms assume a fixed upper bound on the difference between clocks; they neither tolerate worse clock synchronization under bad conditions nor exploit better clock synchronization under good conditions. The first algorithm attempts to determine whether a predicate holds at a specified instant; our algorithms are designed for continuous monitoring. The second algorithm detects Inst Φ with worst-case time complexity O(N 2 E), compared to O((N log N )E) for our algorithm in Sect. 6. A computation of a single process is called a local computation and is represented as a finite or infinite sequence of local states and events. Thus, a local computation has the form. where the e α are events, and the s α are local states. By convention, e 1 corresponds to creation of the process. If the sequence is finite, it ends with an event that corresponds (by convention) to the termination of the process. A computation of a distributed system is a collection of local computations, one per process. A computation is represented as a function from process names to local computations. We use integers 1, 2, . . . , N as process names; thus, for a computation c, the local computation of process i is c(i). Variables i and j always range over process names. We use Ev (c) and St(c) to denote the sets of all events and all local states, respectively, in a computation c. For convenience, we assume that all events and local states in a computation are distinct.. The following functions are implicitly parameterized by a computation; the computation being considered should be evident from the context. For an event e, pr(e) denotes the process on which e occurs. For a local state s, pr(s) denotes the process that passes through s, and S (s) and T (s) denote the start event and terminal event, respectively, of s. For example, for a computation containing local computation (1), S (s 2 ) is e 2 , and T (s 2 ) is e 3 .. A global state of a distributed system is a collection of local states, one per process, represented as a function from process names to local states. The set of global states of a computation c is denoted GS (c); thus, g is in GS (c) iff for each process i, g(i) is a local state in c(i). We define a reflexive partial ordering on global states by:. . (2) 5 Our framework accommodates the granularity of digital clocks by using ≤ instead of < in TS1 and TS2, introduced in Sect. 3.. All of the orderings defined in this paper, including , are implicitly parameterized by a computation; the computation being considered should be evident from the context.. Each event e has an interval timestamp its(e), which is an interval with lower endpoint lwr(e) and upper endpoint upr(e). Our results apply to any totally-ordered time domain, regardless of whether it is continuous or discrete. Thus, the interval could be a range of integers or a range of real numbers. We model events as being atomic and instantaneous; the width of the interval timestamp depends only on the quality of clock synchronization when the event occurs. We assume that the interval timestamps are non-decreasing and are consistent with the order of events; more precisely, we assume: There are various ways of satisfying these assumptions, depending on the underlying clock synchronization mechanism. As a simple (yet realistic) example, if the clock synchronization algorithm never decreases the value of a clock, and if all of the machines (more precisely, all of the machines relevant to the predicate being detected) synchronize to a single time server, then TS1-TS3 hold if timestamps are chosen such that the value of the time server's clock was in the interval its(e) when event e occurred. Thus, a machine can take lwr(e) = t − ε and upr(e) = t + ε, where t is the value of its local clock when e occurred, and ε is a bound on the difference between its clock and the time server's clock when e occurred. In systems in which time servers are organized in peer groups or in a client-server hierarchy, its(e) can be determined from an appropriate combination of the bounds on the errors between the relevant clocks. In either case, the information needed to construct interval timestamps can be obtained from standard clock synchronization subsystems, such as NTP [27, 28] or the Distributed Time Service in OSF DCE [29] .

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Intimate Heartbeats: Opportunities for Affective Communication Technology Abstract-Despite a variety of new communication technologies, loneliness is prevalent in Western countries. Boosting emotional communication through intimate connections has the potential to reduce loneliness. New technologies might exploit biosignals as intimate emotional cues because of their strong relationship to emotions. Through two studies, we investigate the possibilities of heartbeat communication as an intimate cue. In the first study (N ¼ 32), we demonstrate, using self-report and behavioral tracking in an immersive virtual environment, that heartbeat perception influences social behavior in a similar manner as traditional intimate signals such as gaze and interpersonal distance. In the second study (N ¼ 34) , we demonstrate that a sound of the heartbeat is not sufficient to cause the effect; the stimulus must be attributed to the conversational partner in order to have influence. Together, these results show that heartbeat communication is a promising way to increase intimacy. Implications and possibilities for applications are discussed. C LOSENESS and intimacy with others are essential for our health and well-being [1] , [2] . As humans evolved, they have always depended on the advantages of living and working close together [3] . Our need to belong is such a profound motivation that loneliness reduces happiness [4] , [5] , increases our chances of depression [6] , and even influences our physical health [7] , [8] . For instance, married individuals are known to have a higher survival chance of cancer than singles [9] . Moreover, separation from one's partner may lead to strong negative effects, sleeping problems, subjective stress, and physical symptoms [10] .. Some scholars argue that over the last decades, individualism and loneliness have significantly increased in Western countries [1] . For instance, respondents in 2004 were three times more likely to report having no one with whom to discuss important matters than respondents in 1985 [11] . This has sparked an interest in research on systems and technologies that can improve our sense of belongingness and reduce our feeling of loneliness, such as awareness systems [12] and connectedness devices [13] , [14] . Research on these systems has mainly focused on improving the connection by trying to get people to interact more and share more personal information. For example, Vetere et al. [15] implemented the Hug Over a Distance. The Hug Over a Distance enables tactile communication similar to giving someone a hug. Other examples of awareness systems include the Cube and the Picture Frame by Garnaes et al. [16] . The Cube is a virtual three-dimensional cube on which intimate couples can place symbols for the other to see. The authors argue that combining several symbols can create complex and expressive messages. The Picture Frame provides a way of dynamically adding graphical symbols to shared photos. After the selection of a symbol, it appears as a thought bubble on the other person's Photo Frame. Other work on awareness systems can, for instance, be found in [17] , [18] . For a recent overview, see Markopoulos et al. [12] .. Converging evidence shows that one of the essential elements for improving a sense of connectedness or intimacy is the communication of emotions. Diary studies of adolescents and married couples have consistently shown that emotional self-disclosures have a stronger impact on intimacy than factual self-disclosures [19] , [20] . In line with this, Butler et al. [21] have shown that emotional suppression decreases one's chances of forming new relationships. Moreover, automatic mimicking of other's emotions improves liking of and attraction to the mimicker as it is a sign of validation [22] , [23] . In addition, partners' emotional convergence leads to increased relationship quality [24] . Furthermore, increased emotion recognition accuracy between partners will also lead to increased marital satisfaction and relationship quality [25] . Finally, the negative effects of separation from one's loved ones can be ameliorated by sharing affective experiences to become more emotionally in touch [10] . Taken together, the affective nature of intimacy is found in the important role emotions play in intimacy development and the strong influence of intimacy of our affective state (e.g., [10] ).. Because emotions play such a central role in closeness and intimacy, it is important to look at potential ways of improving and expanding the range of signals through which we communicate our feelings when interacting from remote physical locations. Currently, communication of emotions relies heavily on facial and vocal expressions [26] , [27] . However, these signals are absent in many new communication applications. For example, in online chatting, we rely on emotional representations called emoticons [28] . There is compelling evidence that computer-mediated communication (CMC) need not be less intimate than faceto-face (F2F) interaction (e.g., [29] , [30] ). Walther [31] even argues in his hyperpersonal communication theory that communication in CMC can be more intimate than in F2F because of increased control and increased self-disclosure due to a reduction of nonverbal signals. Because communication of emotion through artificial means can be just as powerful as F2F communication, it might be valuable to look at other emotional signals that can be tracked and communicated by technologies and that can possibly serve as intimate cues. One such a potential intimate emotional communication mechanism might be the sharing of heartbeat information between individuals.. Evidence for the possible effects of heartbeat sharing comes from studies investigating the perception of one's own heartbeat [32] , [33] , [34] , [35] . One of the first heartbeat perception studies was done by Valins [36] and gave participants false feedback on their own heart rate. The results showed that the false heart rate feedback influenced participants' perceptions of their own emotional state (see [37] for a review). Furthermore, there is ample evidence that cardiac awareness (i.e., how well individuals can perceive their own heartbeats) is associated with the intensity of emotional experience (e.g., [38] , [39] , [40] , [41] ). Often, heartbeat perception tasks are used to measure cardiac awareness and relate this to emotional experience [42] . For instance, Wiens et al. [43] reported that good heartbeat perceivers reported more intense emotions to film stimuli than poor heartbeat perceivers. Taken together, this shows that heartbeat perception is related to emotional experience. Nonetheless, it is important to note that these studies are concerned with the awareness and presentation of one's own heartbeat. We are not aware of any studies that have investigated the interpersonal communication of heartbeats that we focus on in this work.. Because heartbeat perception affects emotion perception and because the communication of emotions increases intimacy, we expect that perceiving someone else's heartbeat will be experienced as an intimate nonverbal cue. Applications for such heartbeat communication have been suggested before [44] , but have not been empirically evaluated. Hence, this paper investigates the power of heartbeat communication as an intimate nonverbal cue.. The systematic study of cues that signal nonverbal intimacy started about four decades ago with the seminal work of Argyle and Dean [45] and Mehrabian [46] . They showed that people compensate for inappropriate increases in intimacy. For instance, when stepping into an elevator with a group of people, interpersonal distance might suddenly be inappropriately close. As a consequence, people might look at the walls, floor, or ceiling instead of at each other, reduce their smiling, and turn sideways or away from each other. These effects have been replicated many times [47] , [48] , providing a good behavioral paradigm for investigating the intimacy of other nonverbal cues.. To investigate the effects of heartbeat communication, we implemented a dual approach. First, we examined selfreported intimacy ratings during situations that differed in interpersonal distance, mutual gaze, and heartbeat communication. Consequently, we compared the strength of the known effects of interpersonal distance and mutual gaze on intimacy with that of the new effect of heartbeat communication. Second, to bolster the self-report measures, we investigated if the new heartbeat cue interacts with traditional nonverbal cues. We chose the relationship between interpersonal distance and heartbeat, as interpersonal distance tends to increase in the presence of other intimate nonverbal behavior as a compensation mechanism [45] , [48] , [49] . Specifically, we examined whether or not the presence of heartbeat communication would cause participants to adjust their interpersonal distance.. We examined these effects in an Immersive Virtual Environment (IVE). Such environments are methodological tools that have been used to investigate social psychological effects [50] , [51] , including interpersonal distance [52] and gaze behaviors [49] . The use of IVEs allows us to control a confederate's displayed behavior, which might otherwise cause confounds in the research paradigm. Furthermore, it gives us a very precise measurement of the interpersonal distance at the level of millimeters between the interactants, as the IVE employs accurate location tracking equipment. In this age of the Internet in which people interact more and more with their computers and less and less with each other, we need new ways to communicate emotions and maintain close connections. Decades of research have shown the importance of physiological signals for our own emotional experiences. This study presents evidence that physiological signals can be important communicative tools as well. Heartbeats are shown to be a powerful intimate nonverbal cue. Because of the intimate nature of heartbeat communication, it could potentially prove to be beneficial for social connectedness. Similarly, heartbeat communication might also improve emotion recognition and communication. This opens up a future in which we augment our natural emotion communication by new technologies that share the biosignals carrying our emotions. After receiving the doctorate degree, he spent four years at the Research Center for Virtual Environments and Behavior at the University of California, Santa Barbara, as a postdoctoral fellow and then as an assistant research professor. His main area of interest is the phenomenon of digital human representation, especially in the context of immersive virtual reality. He explores the manner in which people are able to represent themselves when the physical constraints of body and veridically rendered behaviors are removed. Furthermore, he designs and studies collaborative virtual reality systems that allow physically remote individuals to meet in virtual space, and explores the manner in which these systems change the nature of verbal and nonverbal interactions. His findings have been published in more than 70 academic papers in the fields of communication, computer science, education, law, political science, and psychology. His work has been consistently funded by the US National Science Foundation (NSF) for more than a decade, and he also receives grants from various Silicon Valley and international corporations. He consults regularly for government agencies including the US Army, the US Department of Defense, the US National Research Council, and the US National Institutes of Health on policy issues surrounding virtual reality.. Wijnand A. IJsselsteijn has a background in psychology and artificial intelligence, with the MSc degree in cognitive neuroscience from Utrecht University and the PhD degree in media psychology/HCI from the Eindhoven University of Technology on the topic of telepresence. He currently holds a position as an associate professor in the area of applied cognitive science and advanced media environments at the Eindhoven University of Technology, specializing in social digital media, immersive media technology, and digital gaming. His focus is on conceptualizing and measuring human experiences in relation to these advanced media, and optimizing technology accordingly. He has published more than 150 journal and conference papers, and leads several national and EU-funded projects.. Joyce H.D.M. Westerink studied physics at Utrecht University and graduated in 1985. Then, she joined Philips Research and specialized in topics involving human perception and cognition of consumer products: visual perception of display devices, user-friendliness of home entertainment systems, sensory aspects of personal care products, and psychophysiological aspects of user experience. For the first 14 years, she did research on detachment at the Institute for Perception Research (IPO) and since then has been a member of several research groups at Philips Research dedicated to personal care products and media interaction. Written output of her work can be found in some 35 articles in books and international journals, a PhD dissertation on "Perceived Image Quality in Static and Dynamic Images," and seven US patents. In this paper, we investigate the effects of heartbeat on intimacy. In two experiments, we manipulated heartbeat communication, measured self-reported intimacy, and kept interpersonal distance as a behavioral measure of intimacy. We expected that, in the conditions in which participants thought they were hearing the confederate's heartbeat, selfreported intimacy and kept interpersonal distance would be higher. Manipulation checks confirmed that the manipulation was successful. In the first study, everybody said that they perceived differences in personal distances and sound. Some people reported not seeing a clear difference between the two gaze conditions, which might explain the somewhat lower effect size for gaze compared to interpersonal distance and heartbeat sound. In the second study, participants' responses when asked what they heard during the experiment were congruent with the condition they were in. Finally, both experiments confirmed that the effects of the heartbeat sound were not due to increases in social presence.. The results confirmed our hypothesis. In the first experiment, there is a large effect of sound on self-reported intimacy. In addition, this effect was similar in size to that of interpersonal distance and larger than the effect of gaze. This comparison is important as interpersonal distance and gaze are nonverbal cues that have been studied widely and are uncontroversial as cues to intimacy [48] . The fact that heartbeat sound has similar or stronger effects than these traditional nonverbal cues strengthens our belief that heartbeat has a very strong effect on intimacy as well. To test if this effect also had effects on behavior, we compared kept distance when hearing a heartbeat sound or silence. Kept distance was almost twice as large when hearing a heartbeat sound than when hearing silence. Taken together, these findings show that heartbeat communication is similar to other nonverbal behavior cues in its effects on both experience and behavior.. To further confirm that these effects were not merely due to hearing the sound of a heartbeat, we ran a second experiment. The results of this experiment further confirmed the fact that heartbeat can be perceived as an intimate cue. Although the exact same sound was used in all cases where participants heard a heartbeat sound, when the participants thought that they were hearing a representation of the confederate's heartbeat, they kept a larger distance from this confederate compared to hearing an unrelated sound downloaded from the Internet or silence. The effect sizes and means of experiments 1 and 2 were similar for the same conditions. Hence, the effects in experiment 2 are not due to merely hearing the sound but because the sound was associated with the confederate.. Because of the within-subject nature of experiment 1, there might have been a confirmation bias in the self-reported intimacy. We have tried to alleviate this concern by showing a significant between-subject correlation of self-reported intimacy with kept interpersonal distance. Nonetheless, for future work, it might be interesting to include self-reported and other behavioral measures (e.g., gaze) in a betweensubject design to further investigate heartbeat communication effects.. One of the limitations of the current study is that the effects might have been caused by the novelty of the heartbeat sound. We have tried to reduce this possible effect by taking a quite well-known and often auditory represented signal. Moreover, we have parsed out the effects of the actual stimulus with the meaning of the stimulus. Nonetheless, compared to other nonverbal behavior, the perception of someone else's heartbeat is rather uncommon. Hence, as a direction for future studies, it might be interesting to see if these effects persist when people are subjected to repeated exposure to heartbeat sounds. Furthermore, it could be interesting to compare other modalities such as the visual or haptic domain to see if less common representations of the heartbeat signal lead to similar effects.. We chose to use the heartbeat signal for its familiarity. There exist common representations of heartbeat, like the sound we used, so it could be easily recognized. Additionally, heart rate is probably easily associated with emotions because of the folk psychology surrounding it. Nonetheless, besides heartbeat, the representation of other physiological signals may also be suitable as intimate cues. Other physiological signals such as skin conductance, respiration, or skin temperature are also influenced by emotions. Hence, the same reasoning of heartbeat communication as an intimate cue can be applied to other signals. With clear instructions or experiences, people could learn to interpret these signals as intimate emotional cues as well. Future research could focus on finding representations of other physiological signals to see if they are also useful as intimate emotional cues.. Future research could also be directed at investigating possible mechanisms through which the effects of heartbeat communication arise. The effects we found could, for instance, be due to attentional differences between the conditions, which have been shown to affect one's own heartbeat perception [55] . They could also be mediated by heartbeat entrainment [56] , in which one's own heartbeat shifts toward the perceived rhythm. Such changes in heartbeat could in turn change one's experience. Hence, future research should incorporate measures of such possible mediating factors to clarify what the active ingredients are that make heartbeat communication an intimate experience. We averaged the kept distance during the 30 seconds the participants were standing close to the confederate. Simple contrasts compared the silence and artificial heartbeat conditions to the real heartbeat condition to test our hypotheses based on Experiment 1 that a real heartbeat would lead to a larger kept distance (than silence or an artificial heartbeat). Kept distance was larger in the real heartbeat (M ¼ 82 cm) condition than in the silence (M ¼ 57 cm, p < 0:05, Cohen's d ¼ 0:9) and artificial heartbeat conditions (M ¼ 56 cm, p < 0:05, Cohen's d ¼ 1:0). Means and SEs are depicted in Fig. 4 .

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O 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 O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O


Compressive Imaging of Subwavelength Structures Abstract. The problem of imaging extended targets (sources or scatterers) is formulated in the framework of compressed sensing with emphasis on subwavelength resolution.The proposed formulation of the problems of inverse source/scattering is essentially exact and leads to the random partial Fourier measurement matrix. In the case of square-integrable targets, the proposed sampling scheme in the Littlewood-Paley wavelet basis block-diagonalizes the scattering matrix with each block in the form of random partial Fourier matrix corresponding to each dyadic scale of the target.The resolution issue is analyzed from two perspectives: stability and the signal-to-noise ratio (SNR). The subwavelength modes are shown to be typically unstable. The stability in the subwavelength modes requires additional techniques such as near-field measurement or illumination. The number of the stable modes typically increases as the negative d-th (the dimension of the target) power of the distance between the target and the sensors/source. The resolution limit is shown to be inversely proportional to the SNR in the high SNR limit.Numerical simulations are provided to validate the theoretical predictions. The Compressed Sensing paradigm is supplying a fresh perspective on the imaging problems, including source inversion and inverse scattering (see the extensive literature in [8] ) and we aim to analyze these classical problems from the perspective of compressed sensing.. The main purposes of the paper are two folds: (i) to formulate the problems of inverse source and scattering for extended targets in the framework of compressed sensing and analyze it by the fundamental results on the random Fourier measurements [4, 5, 6, 7, 21, 22] and (ii) to use the compressed sensing solution thus obtained as a starting point to investigate the problem of subwavelength resolution in the presence of noise, in particular, to discuss the idea of extracting subwavelength information by near-field measurement and illumination, common in nano-optics [20] .. The important feature of our formulation of the imaging problems is that it is essentially exact (without the paraxial approximation as used in [18] ) and is for extended (periodic or non-periodic) targets. As such, our formulation provides an instructive example for assessing the power of the compressed sensing techniques when applied to the physical problems of imaging. In the case of inverse scattering for square-integrable targets, we use the Littlewood-Paley wavelet basis and propose a sampling scheme by which the scattering matrix can be block-diagonalized with each block in the form of random partial Fourier matrix corresponding to each dyadic scale present in the target structure. By this approach we can image the extended target scale-by-scale.. We analyze the resolution issue from two perspectives. First we define the stably recoverable (or stable for short) modes in terms of the noise amplification factor. We show that the subwavelength modes are typically unstable. To achieve stability in the subwavelength reconstruction we need additional techniques such as near-field measurement or illumination with which the number of the stable modes typically increases as the negative d-th (the dimension of the target) power of the distance between the target and the sensors/source. Second, we take into account the signal-to-noise ratio (SNR) in the resolution analysis and show that the resolution limit is inversely proportional to the SNR in the high SNR limit.. The paper is organized as follows. We treat the case of periodic targets using the Fourier basis, first for the inverse scattering in Section 2 and then for the inverse (Born) scattering problem in Section 3. We present numerical results confirming the theoretical predictions in Section 4. In Section 5 we analyze the case of square-integrable targets using the Littlewood-Paley basis and point out the extension to three dimensions. We conclude in Section 6. In this note, we have analyzed the problem of imaging extended targets in the perspective of Compressed Sensing which provides assurance of stable reconstruction of a target composed of sparse Fourier modes with the similar number of measurements, modulo a poly-logarithmic factor, in the presence of noise.. We have shown that the number of stably recoverable modes grows as the negative d-th power of the distance between the target and the sensors/source. Hence the stability of reconstructing subwavelength modes requires the distance to be less than the wavelength. On the other hand, we have also shown that the resolution limit is inversely proportional to the SNR in the high SNR limit. As a consequence, the subwavelength modes can be recovered at sufficiently high SNR as well as by placing the sensors at a subwavelength distance from the target.. However, it remains to be seen if these results about stability and resolution can be extended to the case of square-integrable targets even though our sampling scheme block-diagonalizes the corresponding scattering matrix according to each dyadic scale.. Finally we note that the compressive imaging theory in the remote sensing regime for discrete point targets has been recently developed in [15, 16, 18] .

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 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 B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 B I 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 B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Choosing the optimal set of instruments from large instrument sets It is well known that instrumental variables (IV) estimation is sensitive to the choice of instruments both in small samples and asymptotically. Recently, Donald and Newey (2001) suggested a simple method for choosing the instrument set. The method involves minimising the approximate mean square error (MSE) of a given IV estimator where the MSE is obtained using refined asymptotic theory. An issue with the work of Donald and Newey (2001) is the fact that when considering large sets of valid instruments, it is not clear how to order the instruments in order to choose which ones ought to be included in the estimation. The present paper provides a possible solution to the problem using nonstandard optimisation algorithms. The properties of the algorithms are discussed. A Monte Carlo study illustrates the potential of the new method. It is well known that instrumental variables (IV) estimation is sensitive to the choice of instruments both in small samples and asymptotically. Asymptotic efficiency is obtained by using all valid available instruments but finite sample performance of IV estimation need not be optimal for this choice. (see, e.g., Morimune (1983) or Bound, Jaeger, and Baker (1996) ). 1 and Rothenberg (1983) , to provide expressions for the approximate MSE of standard IV estimators such as two-stage least squares (2SLS) and limited information maximum likelihood (LIML). The expansions are provided for the case where the number of instruments grows with the sample size, n, but at a slower rate than n. The problem addressed by Donald and Newey (2001) is one of two separate but related problems concerned with instrument selection. It relates to choosing a subset of valid instruments that minimises MSE for a particular IV estimator and is therefore designed to improve the performance of a consistent estimator.. A related problem is that addressed by Andrews (1999) where criteria, similar in spirit to information criteria, are used to select the largest possible set of valid instruments (or more generally moment conditions) among a set of possibly valid instruments. The methods we discuss in this paper may be easily adapted to this distinct problem.. An issue with the work of Donald and Newey (2001) is the fact that when considering large sets of valid instruments, it is not clear how to order the instruments in order to choose which ones ought to be included in the estimation. When a researcher has N potential instruments, then there exist 2 N possible sets of instruments to be considered. Strictly speaking, one needs to compute the MSE of all these sets before choosing the optimal one than minimises MSE. Clearly, even for moderate N such as, say, N = 20 or N = 30, this is a formidable computational task. Furthermore, as Donald and Newey (2001, pp. 1164 ) point out such a search is not recommended as it is likely to lead to an estimator of the optimal set which is too variable.. In some cases an ordering of the instruments may be possible following economic theory.. But in a large number of cases no such ordering may be possible. Even if some instrument is more useful in estimation than some other instrument, one needs to know the identity of the instrument a priori. It seems that there is no general natural metric for the usefulness of an instrument unlike other model selection problems such as , e.g., lag selection where such a metric is available.. The present paper provides a possible solution to the problem. If one views the set of 2 N possible sets of instruments as a space over which to minimise MSE for a given estimator then the problem becomes one of nonstandard minimisation of a function. The problem is nonstandard since the space over which minimisation occurs is discrete rather than continuous. A number of algorithms exist in the numerical analysis literature which suitably modified can be useful in this context. We focus on two distinct algorithms which provide a 2 theoretically valid and computationally tractable solution. One is simulated annealing and the second is genetic optimisation. Either of these two approaches can be used to minimise a function over a discrete domain and under suitable conditions is guaranteed to find the global minimum.. The paper is organised as follows: Section 2 sets out in detail the problem we would like to address. Section 3 presents details on the maximisation algorithms we consider. Section 4 presents a Monte Carlo exercise. Finally, Section 5 concludes. Estimation by Instrumental Variables is extremely common in the econometric literature.. A major preoccupation concerns the choice of the instruments used in the estimation. This choice has two related components. Firstly, one must choose a set of valid instruments among all possible instruments and secondly one must choose among all valid instruments so as to optimise the performance of a given estimator. This paper addresses the second component.. Clearly, an obvious method for guiding the selection involves using economic theory. Nevertheless this is likely to be of little help in general. Donald and Newey (2001) has suggested a method for choosing the number of instruments used so as to minimise the MSE of the estimator. Nevertheless, the ordering of the instruments used in choosing the number of 10 instruments to include is an issue. We suggest using nonstandard optimisation algorithms to optimise the search for the subset of instruments that minimises the MSE of a given IV estimator.. After discussing the optimisation algorithms we suggest, we present a Monte Carlo study similar to that in Donald and Newey (2001) which illustrates the potential of the new methods. Further research should concentrate on an empirical evaluation of the new methods as well as exploring their potential when applied to other IV estimators. We present the following statistics on the estimated coefficients: Firstly, we present the mean square error of the estimators over the replications. Secondly we present the median bias, thirdly we present the median absolute deviation from the true value and finally the range between the 90% and 10% quantiles. We choose to present results on MSE, unlike Donald and Newey (2001) , as it seems to be the natural choice for a reporting medium on the performance of a method designed to minimise MSE. We consider the estimators B2SLS. (denoted BSLS in the Tables), 2SLS and LIML and three ways of choosing the instruments.. The first includes all available instruments and is denoted by the subscript a, the second chooses the order of instruments according to Donald and Newey (2001) (denoted by the subscript o) and the third uses simulated annealing to minimise MSE and is denoted by the subscript s. Results are presented in Tables 1 and 2 . Overall, a clear conclusion emerges for the superiority of selecting instruments by minimising MSE via simulated annealing.

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 B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B O O O O O 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 O B I


Design Wizards and Visual Programming Environments for GenVoca Generators Domain-specific generators will increasingly rely on graphical languages for declarative specifications of target applications. Such languages will provide front-ends to generators and related tools to produce customized code on demand. Critical to the success of this approach will be domain-specific design wizards, tools that guide users in their selection of components for constructing particular applications. In this paper, we present the P3 ContainerStore graphical language, its generator, and design wizard. Domain-specific languages (DSLs) will become progressively more important as a medium for specifying customized applications [Bat93, Kie96, Due97, Sma97] . Generators are tools -compilers, really -that convert DSL application specifications into optimized source code. Visual programming languages, such as Visual Basic and Java applets, will simplify the use of DSLs and promote their promulgation. But more importantly, visual programming (or more accurately visual specification) languages will offer a convenient way to integrate a suite of analysis tools that will substantially enhance the capabilities and effectiveness of generators.. We are exploring the use of a visual specification and analysis environment for a Java-based generator called P3. P3 is a GenVoca (i.e., component-based) generator for container data structures that is a successor to P2 . P3 is a modular extension of the Java language that allows container data structures to be specified declaratively. That is, P3 adds data-structure-specific statements to Java so that users can compactly specify the implementation of a target data structure as a composition of reusable P3 components. The P3 generator, which is actually a Java preprocessor, translates P3 programs directly into pure Java programs. Among the features that make P3 attractive is that it is equivalent to a gargantuan library of container data structures whose efficiency is comparable to (or better than) hand-coded libraries that are now available.. To promote and simplify the use of P3, we have developed the ContainerStore applet as a visual programming language for writing P3 programs. Clients fill in forms and edit diagrams, from which the ContainerStore can infer P3 data structure specifications. While the applet itself is not a major innovation, it is interesting because it integrates a suite of tools and services that makes P3 programming more effective -tools and services that P3 alone cannot provide. The ContainerStore offers the facilities for explaining compositions of components so that clients can verify that the data structure that they have defined is the one that they want. If there are errors in a component composition (or in any other phase of specification), they are caught immediately and explanations of how to repair the errors are offered. By far, the most innovative aspect of the ContainerStore tool suite is a prototype technology for automatically critiquing and optimizing container implementations (i.e., P3 component compositions) for a particular workload. Given a set of components and rules that express knowledge of what combinations of components are best suited for solving particular problems, a tool called a design wizard applies these rules automatically to critique and optimize a P3 specification. If the design wizard discovers a composition of components that is likely to perform better than that specified by a user, this composition is reported and reasons are given to explain it is an improvement. In this way, design wizards can offer expert guidance so that design blunders can be avoided.. In this paper, we present the P3 ContainerStore applet, its generator, and its design wizard. P3 is a GenVoca generator for container data structures. Although its basic technology was developed earlier [Bat93-94], P3's novelty is that it has been implemented as a modular extension to the Java language that introduces datastructure-specific statements. These statements enable P3 users to compactly and declaratively specify a family of data structures whose size dwarfs that of hand-coded Java libraries (e.g., CAL, JGL, JDK, Pizza). Besides offering broader coverage, P3 is additionally attractive because it generates efficient code. The basic reason for its efficiency -beyond the fact that the generation techniques are powerful -is that P3 produces data structures for a specific application (where all kinds of optimizations can be performed) whereas conventional libraries only offer generic data structures (where these optimizations have not been applied).. The P3 generator, however, is not sufficient for a practical software development environment. In this paper, we presented the ContainerStore applet, a visual domain-specific programming language that integrates an important suite of tools and services that P3 alone does not provide. 8 The particular services that we discussed are: English-generated explanations of P3 component compositions (which are important as P3 novices will not be familiar with component semantics), automatic validation of compositions with messages suggesting how to repair errors (if errors are detected), automatic generation of P3 code (so that users can study correct P3 specifications), automatic translation of P3 specifications into Java code (i.e., the P3 generator is called), and the automatic critique and optimization of a user-defined P3 component composition given a workload specification (i.e., the P3 design wizard is called).. Among all these services, our design wizard is the most novel. Although its optimization strategies and component rewrite rules are indeed specific to the domain of container data structures, we believe it is the first example of a much more general technology for automatic component selection and composition. The idea of optimizing component compositions by applying domain-specific rewrite rules is certainly not limited to container data structures. The reason is that GenVoca provides a general way in which to create vast "product-lines" from components; applications of GenVoca product-lines are expressed as type equations, and the improvement of a particular equation/design is always through component replacement, insertion, and removal (i.e., equation rewrite rules).. Our initial success with the P3 design wizard is encouraging. However, it is essential that design wizards for other (GenVoca-modeled) domains be created. We believe that analyzing design wizards for different domains may lead to a general model for expressing type equation rewrite rules. Such a model may offer a general-purpose technology for achieving adaptive software -i.e., software that automatically reconfigures itself upon noticing a change in its 8. The capabilities described in this paper were demonstrated at the DARPA EDCS Workshop in Seattle, July 1997. usage/workload. Adaptive software may be the ultimate way to minimize software development and maintenance costs through component reuse. It is widely believed that domain-specific languages (DSLs) will significantly impact future software development. DSLs offer concise ways of expressing complex, domain-specific concepts and applications, which in turn can offer substantially reduced maintenance costs, more evolvable software, and significant increases in software productivity [Bat93, Kie96, Due97] . Generators are compilers for DSLs [Sma97] . Component-based generators, such as P2 and P3, show how reusable components form the basis of a powerful technology for producing high-performance, customized applications in a DSL setting (see also [Nov97] ).. The automatic selection of data structures is an example of automatic programming [Bal85] . SETL is a set-oriented language where implementations of sets can be specified manually or determined automatically [Sch81] . SETL offers very few set implementations (bit vector, indexed set, and hashing), and relies on a static analysis of a SETL program using heuristics rather than using cost-based optimizations to decide which set implementation to use. AP5 relies more on user-supplied annotations for data structure selection [Coh93] .. Deductive program synthesis is another way to achieve automatic programming [Bal85, Smi90, Man92, Low94, Kan93] . The idea is to define a domain theory (typically in first order logic) that expresses fundamental relationships among basic domain entities. A domain theory together with a theorem prover and theorem-proving tactics can find a constructive proof for a program specification and extract from this proof computational methods from which a program can be synthesized. Finding a proof may be fully automatic, but frequently requires guidance from users to help navigate through the space of possible proofs. Our design wizard is very different. First, finding a "proof" (a P3 type equation) for a workload specification is trivial -simply implement every container as a doubly-linked list. All container and cursor operations will be processed, but not efficiently. The challenge is finding a P3 type equation that efficiently processes that workload. Second, work on program synthesis has largely focussed on generating algorithms (e.g., algorithms for solving PDEs [Kan93] , algorithms for scheduling [Smi90] , algorithms for computing solar incidence angles [Low94] , etc.); subroutines are the components from which generated algorithms are built. The inferences needed for algorithm synthesis tends to be quite sophisticated (thus requiring theorem provers) because there are very complex relationships among domain entities. In contrast, GenVoca is different both in component scale and in the simplicity of the relationships among domain entities. GenVoca components are subsystems -suites of interrelated OO classes. (A P3 component for example encapsulates three classes: a cursor class, a container class, and an element class). As noted in [Bat97a] , scaling the size of components and designing components to be plugcompatible has a non-obvious effect: the relationships that exist among components tend to be very simple, and elementary inferencing (i.e., no theorem provers) is adequate. [Kic97a] and Aspect Oriented Programming (AOP) [Kic97b] . Aspects in AOP are very similar to components in GenVoca; they encapsulate changes to be made to multiple classes when an aspect (or feature) is added to an application. Aspect weavers are functions which take a program as input and produce another (more detailed, extended, or refined) program as output. P3 components have an almost identical description. The primary difference is that AOP starts with existing application source, whereas GenVoca decomposes applications into primitive layers and re-expresses them as a compositions of these layers. P3 relies on general results from GenVoca that address the issues of optimizing across multiple layers/aspects, and the order in which components/aspects can be legally composed. To our knowledge, there are no corresponding general results for AOP.

O O O O O O O O B O B O O O O O O O O O O O O O O O O O O B O O O O O 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 O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O B O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O 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 O O B O O O O O O O O O O O O B O O O O O 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 O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A comparative analysis of parallel disk-based Methods for enumerating implicit graphs It is only in the last five years that researchers have begun to use disk-based search techniques on a large scale. The primary examples of its use come from symbolic algebra and from artificial intelligence. In the field of parallel search, disk-based search has been forced on researchers because the historical growth in the amount of RAM per CPU core has now stopped. Indeed, the current trend toward multi-core CPUs now threatens to take us backwards.This article makes an original contribution to the design of disk-based parallel search algorithms. It presents a survey of disk-based techniques side-by-side, for the first time. This allows researchers to choose from a menu of techniques, and also to create new hybrid algorithms from the building blocks presented here. Search techniques are at the heart of many problems in symbolic algebra. As search problems grow, they require both more time and more space. There has been much work in the use of parallelism to enable larger search. However, there has been considerably less work on managing the explosion of search states that occur. In symbolic algebra, this is usually known as intermediate swell, and it is a problem that occurs throughout the field.. Examples of large search-type problems with intermediate swell occur in Gröbner bases, in theorem proving, and in applications using heuristic search. In addition, the area of computational group theory provides an especially rich selection of applications. This includes the constructions of permutation group representations from matrix group repre-sentations, condensation methods for representation theory, and variations of Sims's method of base and strong generating set for high degree permutations. These methods of computational group theory are often applied to the sporadic simple groups, a natural ladder of challenge problems [2, 4, 5, 6, 7, 13, 18, 21, 22] . (The finite simple groups form the building blocks from which all other finite groups can be constructed.). By an implicit graph we mean the graph of the state space that is produced during search and enumeration problems. Typically, the search begins with a single state and a set of generators. The generators are functions that produce a new state from a known one. Each state is a node of the graph. If a state S1 is generated from an old state S2, then we include an edge (S1, S2). The state S2 can be the same as a previously seen state, and so the implicit graph will usually have many cycles. The search continues through repeated application of the generators to new states, until no additional new states are discovered.. One critical aspect in search-type problems is determining, as one arrives at a search state, whether that search state has been seen previously or not. In the case of depthfirst search, one backtracks upon seeing an old state, and in the case of breadth-first search, one eliminates previously seen states from the current frontier.. The problem of deciding whether one has previously seen a state is known as duplicate elimination. This requires a table of previously seen states. A common technique to implement duplicate elimination is the use of hash tables. However, while hash tables are efficient RAM-based data structures, they are notoriously inefficient as disk-based data structures. Hash tables incur many random accesses, which require one to load random disk blocks, for the purpose of accessing a single search state within that disk block.. This situation has traditionally led researchers to look for clever techniques to compress the table of previously seen states. This allows them to fit larger search spaces purely within RAM. However, the historical growth in RAM per CPU core has now halted. Other approaches must be used if we are to conquer ever larger search applications.. Further, the trend toward multi-core CPUs also potentially limits this approach of compressing tables of previously seen states to fit in RAM. As more CPU cores request more random accesses to a single RAM subsystem, the bandwidth of the RAM subsystem no longer keeps up with the increasing pressure on memory. Figure 1 demonstrates this issue by illustrating several of the available search techniques, which are described in The methods near the top typically use less memory, but require additional computation, or have additional constraints (such as certain hash functions, or constraints on the set of generators).. In practice, a given computer has limited RAM and disk space. The shaded regions illustrate the regions of feasibility in pure RAM and in a disk-based algorithm. These regions of feasibility are dependent on the scale of the problem, and the available computing resources. Due to time-space tradeoffs, the use of additional space from disk will often make an algorithm faster (even though disk is slower than RAM).. To further motivate the use of disk, note that the aggregate bandwidth of 50 local disks is about 50 × 50 MB/s = 2.5 GB/s. Thus 50 local disks provide an aggregate bandwidth similar to that of a single extremely large RAM subsystem. Of course, this refers only to streaming access, and not to random access. Much of the body of this paper is concerned with presenting disk-based algorithms that capture this emphasis on streaming access. We have presented a comparative analysis of methods for search and enumeration of very large implicit graphs. While earlier methods typically focused on using a more compact representation, allowing the search to fit within available RAM, newer techniques tend to focus on the efficient use of disk. This shift has arisen because the amount of available RAM per CPU has plateaued. With the advent of multicore CPUs, this trend can be expected to continue, in fact, the amount of RAM per CPU may even decrease.. With an increase in the number and variety of enumeration algorithms comes a need for a framework to analyze their relative efficiency. The framework we provide here allows for this kind of analysis, taking into account the nature of the problem, the target computer architecture, and the algorithms themselves. With this framework, we can accomplish several related tasks:. • Determine which method, or combination of methods, is the best for a given problem and computer architecture.. • Predict the runtime of a method for a given problem and computer architecture.. • Determine what classes of problems are best approached with a given method and available computing resources.. • Guide the development of new methods, with respect to some target problems or computer architectures.

O O O O B B O O O B I O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O B B B B O O O O O O O O O O O O O O O O O O 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 B B O O O O O O B O O O O O 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 O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O 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 O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O 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 O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O B O B O O O B I O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Learning to recommend from positive evidence In recent years, many systems and approaches for recommending information, products or other objects have been developed. In these systems, often machine learning methods that need training input to acquire a user interest profile are used. Such methods typically need positive and negative evidence of the user's interests. To obtain both kinds of evidence, many systems make users rate relevant objects explicitly. Others merely observe the user's behavior, which fairly obviously yields positive evidence; in order to be able to apply the standard learning methods, these systems mostly use heuristics that attempt to find also negative evidence in observed behavior.In this paper, we present several approaches to learning interest profiles from positive evidence only, as it is contained in observed user behavior. Thus, both the problem of interrupting the user for ratings and the problem of somewhat artificially determining negative evidence are avoided.The learning approaches were developed and tested in the context of the Web-based ELFI information system. It is in real use by more than 1000 people. We give a brief sketch of ELFl and describe the experiments we made based on ELFl usage logs to evaluate the different proposed methods. In recent years, many systems have been developed which try to help users to find pieces of information or other objects that are in accordance with their personal interest. There have been mainly two different approaches: On the one hand, content-based (information) filtering systems (see [5] for some examples) mostly take individual preferences with respect to object content into account.. On the other hand, recommender systems [ 111 typically build on similarities between users with respect to the objects they interact with.. Pernlissioll to lnake digital or hard copies of all or part of this work for perso,nal C,r classroom use is granted without fee provide:d that copies arc ,,ol made or distfibuted for prolit or commercial advalltWe ~~~3 that topics bear this notice and the full citation on the first Page. To copy otherwjse. to repub\ish, to post 0" ~mws or to redistribute to lists, requires prior sp&fic permission andhr a fee. In many systems, users must provide explicit ratings to express their attitudes. This requires additional user effort and keeps users from performing their real task. Both are undesirable.. Alternatively, conclusions about user interest should be drawn from merely observing user interactions.. Our goal is to develop a content-based recommendation component for the ELFI information system. In order to be unobtrusive, it shall learn individual interest profiles from observation only. In ELFI (and this is typical for other systems, too), observation provides information about what the user prefers, but not about what the user does not prefer.. With respect to the application of learning methods this means that mainly positive evidence (i.e., training examples) is available.. In the next section, we briefly describe the ELFI system. Then, we present the learning methods we used and (partially) developed to cope with this problem. In order to evaluate these methods, we performed experiments using observation logs of real ELF1 users; these experiments and their results are described afterwards. Finally, we discuss the results of our work. We described several ideas and approaches to learning information interest from positive evidence. While standard classification methods are not appropriate, we use both a probabilistic and an instance-based approach to characterize the set of information objects a user observed to interact with in a positive way.. Since we are not only interested in a single adaptivity task (i.e., predicting user-specific degrees of object relevance) but also in determining explicit information about user interest and/or preferences, we employed statistical methods to find the'object features that are especially important to an individual user. While the former methods try to develop an overall idea of how interesting objects look like, this latter approach results in interest degrees for selected features that characterize the user instead of the objects. This is more in line with traditional user modeling approaches where user models are knowledge bases with explicit representation of user characteristics [lo] . Moreover, the feature selection mechanisms turned out to be very beneficial in combination with the other methods and helped to strongly improve ELFI's recommendation capabilities.. While the basic mechanisms of ELF1 have been designed with adaptivity in mind (e.g., logging of user actions into files was early available in ELFI), the interface has not. It may be argued that the need to rely on positive evidence only is forced upon us by ELFI's interface restrictions. Indeed, our experience with ELF1 shows that it can be difficult to implement adaptivity into a system as an add-on-feature. For developers of intelligent interactive systems, it remains a challenge to design interfaces that can acquire user feedback in an unobtrusive way to make negative evidence more easily available. However, we think in cases where users have to select interesting objects from larger sets, negative evidence will always be hard to obtain. Then the methods presented in this paper can be used beneficially. In the past, several systems have been developed employing learning procedures to identify individual user's interests with respect to information objects and their contents and make use of this interest protile to make personalized recommendations.. Lieberman [4] developed the system Letizia, which assists a user in Web browsing. It tries to anticipate interesting items on the Web that are related to the user's current navigation context (i.e., the current Web page, a search query, etc.). For a set of links it computes a preference ordering, based on a user profile. This profile is a list of weighted keywords, which is obtained by aggregating the results of TFIDF analyses of pages [5] . Letizia uses heuristics to determine positive and negative evidence of the user's information interest. Viewing a page indicates interest in that page, bookmarking a page indicates even stronger interest, while "passing over" links (i.e., selecting a link below and/or on the right of other links) indicates disinterest in these links. A classification approach is taken by the system called Syskill&Webert 193. The user rates a number of Web documents from some content domain on a binary "hot" and "cold" scale. Thus, positive and negative learning examples become available to the system. Based on the ratings, it computes the probabilities of words being in hot or cold documents. A set of wordprobability-triplets is formed for each user, which can be regarded as an interest profile that characterizes the average hot and cold documents of this user. Based on this profile, the Naive Bayes Classifier method is used to classify further documents as hot or cold, resp.. In ELFI slnd kefne lnformatlonen Uber Farderprogramme der Europaischen Union enthaiten. Bitte lnformieren Sie sich hiertiber bei der W Figure 1 Screenshot of ELFI. Recommended funding programs are shown on the bottom of the screen.. Also the system Personalized WebWatcher [7] uses the Naive Bayes Classifier. This system watches individual users' choices of links on Web pages to recommend links on other Web pages that are visited later. The user is not required to provide explicit ratings. Instead, visited links are taken as positive examples, nonvisited links as negative ones. For ELFI, we could have taken a similar approach. However, we think that non-selection does not necessarily mean disinterest. Such a procedure may lead to many misclassified negative examples and, hence, to too much noise in the training set. The Naive Bayes Classifier is again used in the system NewsDude [2], similarly to Syskill&Webert, to recommend news articles to users. In NewsDude, the probabilities are taken to characterize the long-term interests of a user. To avoid recommending too many similar documents to a user, an additional short-term profile is built by memorizing currently read articles. New articles are then compared to the memorized ones; if they are too similar, they are not recommended although they will typically match the longterm interest profile. This procedure corresponds to the nearest neighbor classification algorithm well known in Machine Learning. Note, that for the short-term profile only positive examples are needed (however, to produce "negative" recommendation). Thus, we can use a similar nearest neighbor procedure also for ELF1 (see the section "Learning about Interesting Documents").

B O O O O B O O O O B O O O O O O O O O O O O O O B O B I O O O B B O O O B O O O O O O O O O O O B O O O O O O O O O B O B O B O O O O O O O O O B O O O O O B O B O O O O O O O B O O B O B B O O O O O O B O O O O B O O O O O B O B O O B O O O O O O O B I O O O O O O O B O O O O O O O O O O B O O B O O O O O O O B O O B O B I O O O O B O O O O O O O O O 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 O O O O O O O B O O O O O O 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 O O O O O O O O O O O O B O O O O O O O O B O O O O O O O B O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B O O O O O O O O O O O B O O O B O O O O O O O O O O O B O O O O O O O B O O O O O O O O B O O O O B I O B O O O O O O O O B O O O O O O O O O O O B O O O O O O O B O O O O O O B O O O O O O O O O B O O O O O O B O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O B O O O O O O O O O O O O O O O B 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 B O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O 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 O O O O O O O O O O O B I O O B O O O O O O O O B O O 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 O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O B O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O 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 O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O B O O O O O O 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 O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B O O O B O O O O O O O O O O O B O O O