Highlighted depth-of-field photography: Shining light on focus We present a photographic method to enhance intensity differences between objects at varying distances from the focal plane. By combining a unique capture procedure with simple image processing techniques, the detected brightness of an object is decreased proportional to its degree of defocus. A camera-projector system casts distinct grid patterns onto a scene to generate a spatial distribution of point reflections. These point reflections relay a relative measure of defocus that is utilized in postprocessing to generate a highlighted DOF photograph. Trade-offs between three different projectorprocessing pairs are analyzed, and a model is developed to help describe a new intensity-dependent depth of field that is controlled by the pattern of illumination. Results are presented for a primary single snapshot design as well as a scanning method and a comparison method. As an application, automatic matting results are presented. A common technique in photography is to use the limited depth of field of a lens to emphasize and frame focused objects while deemphasizing the rest of a scene. Photographers often use expensive, large aperture lenses to achieve this blur effect in macrophotography and portraits. We present a camera setup that can decrease the brightness of out-of-focus objects, providing an additional tool for photographers to achieve their composition goals. The output of this camera is called a Highlighted Depth Of Field (HDOF) photo (Figure 1) . Specifically, the design uses a projector to display point patterns on a particular scene, and resamples or combines images to achieve the desired intensity shift. We have described a new method of photography, using an illumination pattern which can present the defocused content of a scene in the form of an intensity gradient. The primary design that achieves this in a single image does so at the expense of sensor resolution. Two secondary designs make up for this loss through two or more images and computation, producing full resolution results. The clear benefits of this photographic technique to artistic composition and contrast enhancement were demonstrated experimentally. Future work will look at extending the use of this camera to achieve optical foveation, where only the salient (focused) features of a scene are captured and defocused content is blocked. This has the potential to decrease bandwidth on a high-throughput system, or could possibly be used as an aid in image compression. Our design could also benefit realms parallel to microscopy, such as in underwater photography, in which turbid 3D media affects overall photographic resolution. Finally, the HDOF photograph's potential to assist with object segmentation can be guided towards object identification. Following is a brief overview of relevant imaging systems that use illumination to assist in the segmentation of depth information, which is summarized in Figure 2 . Fig. 1 . Can we create photos where out-of-focus objects are not only blurred but also dimmed? Modern projector-as-flash accessories may provide an opportunity for new focus-related artistic effects. Top photos compare a conventional photo to a highlighted DOF photo when a woman is in-focus and the doll is slightly out-of-focus. The doll is successively darkened from left to right while the brightness of the woman is maintained. The bottom photos show a similar comparison with the camera focused in an opposite configuration. Fig. 2. A comparison of different possible setups for obtaining depth content. A highlighted DOF photo could be generated by first estimating depth or creating focal stacks via a light field, and then dimming appropriate layers. Intead, our method uses projected patterns to maintain a high spatial resolution, and can even work in flat areas with no texture.. Scene Geometry and Structured Lighting. Investigations into using projected light to infer about a scene's geometry began with Will and Pennington [1971] . Since, projected patterns have found a wide array of applications in the estimation of 3D object shape [Mouaddabi et al. 1997; Schechner et al. 2000; Salvi et al. 2004; Davis et al. 2005] . Also, projected line and grid patterns have been used to determine surface orientation [Wang et al. 1987; Shrikhande and Stockman 1989; Maas 1992] , to separate direct and global light components Kim et al. 2010] , and to assist in robot mobility [LeMoigne and Waxman 1988] . While we also use a projected array of points to highlight the plane of focus, the final goal is not to estimate complex scene characteristics. Instead, we characterize depth information by optical modulation of any portion of the scene that is not in sharp focus on the sensor.. Confocal Microscopy. The fundamental principle of a confocal microscope, which uses a pinhole to distinguish light from a particular depth, is very similar to the basis of our system. The confocal design has also been modified to use a more efficient array of microlenses [Tiziani and Uhde 1994] or pinholes [Eisner et al. 1998 ], which we experimented with over our sensor. In general, smaller pinholes lead to a narrow depth of field and higher axial resolution in confocal designs. Following the same logic, we project small spots to better create a narrow depth of field around the focal plane. There has been recent work to incorporate light field imaging with confocal microscopy, as well as light field capture with a 4D illumination source from Levoy et al. [2004 Levoy et al. [ , 2006 Levoy et al. [ , 2009 . These setups can capture multiple planes of focus in a single image and share the common goal of highlighting a certain depth plane. Conceptually similar examples using time-varying illumination are also found in confocal literature. Mitic et al. [2003] implement a time-varying grid pattern in a wide-field microscope to obtain depth discrimination by comparing multiple images. Wilson et al. [1996] present a unique aperture correlation technique to increase optical efficiency by illuminating and imaging through a scanning random mask. Finally, Heintzmann et al. [2001] incorporate a micromirror array to image and illuminate along two optical paths, which increases conventional SNR twofold. These procedures overlap with the basic concept of our multishot methods, but require uniquely different illumination patterns and processing algorithms.. Depth from Defocus. A number of papers and software packages, like Depth of Field Generator Pro, offer methods of detecting or creating additional defocus through computational means by first creating a depth map [Lai et al. 1992; Bae and Durand 2007] . Other computational-based depth estimation methods compare images from different viewpoints, as in stereovision, or compare images from a single camera with a variable aperture [Watanabe and Nayar 1998; Hasinoff and Kutulakos 2006] . Attempting to acquire scene depth with a projector system has been demonstrated before using multiple images by Zhang and Nayar [2006] . Furthermore, full resolution refocusing from a single image is achieved with a projected • 24:3 Fig. 3. (a) A dot from a laser pointer viewed through a camera will lose localized intensity as it becomes defocused. We use a large DOF projector to create a dense array of dots. (b) Imaging three point sources at different focal depths, with setup variables labeled. (c) A plot of expected irradiance vs. object distance for an f = 5cm camera focused at 30cm, where the object in question is an idealized 1W point source. The line in green also shows the intensity of a hypothetical imaged spot that does not change in size (i.e., it remains at 10μm), to indicate that defocus plays the dominant role in specifying image intensity.. dot pattern in Moreno-Noguer et al. [2007] . This is essentially a depth estimation method that works only for scenes with low depth complexity (i.e., scenes with little texture that can be easily segmented), as the depth is estimated at sparse locations with a delicate calibration process. Such an approach cannot handle segmentation at complex geometric boundaries. One of our methods, the singleshot method, generates real-valued depth cues for each pixel at 1/9th the full resolution without any calibration. The other two proposed methods provide full resolution depth cues, which can be applied to create nonbinary mattes, for example, using two or more images.

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


Trusting the messenger because of the message: feedback dynamics from information quality to source evaluation manzi, et al.. Trusting the messenger because of the message: feedback dynamics from information quality to source evaluation.Abstract. Information provided by a source should be assessed by an intelligent agent on the basis of several criteria: most notably, its content and the trust one has in its source. In turn, the observed quality of information should feed back on the assessment of its source, and such feedback should intelligently distribute among different features of the source-e.g., competence and sincerity. We propose a formal framework in which trust is treated as a multi-dimensional concept relativized to the sincerity of the source and its competence with respect to specific domains: both these aspects influence the assessment of the information, and also determine a feedback on the trustworthiness degree of its source. We provide a framework to describe the combined effects of competence and sincerity on the perceived quality of information. We focus on the feedback dynamics from information quality to source evaluation, highlighting the role that uncertainty reduction and social comparison play in determining the amount and the distribution of feedback. In real life, the trust assigned to a message depends crucially, albeit not solely, on the perceived trustworthiness of its source [11, 12] . In turn, whether or not the message turns out to be reliable has important repercussions on the source trustworthiness. This is also true with respect to the exchange of arguments in social interaction. When people argue with each other, trying to get their arguments accepted to foster their own goals, they also evaluate the arguments proposed by other parties in the discussion. This evaluation considers not only the possible conflicts with other arguments, but also the trustworthiness degree of the information source proposing the arguments. In argumentation theory [24] , the arguments are considered to be accepted or not depending on the attacks against them. In this kind of frameworks, neither the information sources proposing the arguments nor their trustworthiness degree are considered. In recent years, the area has seen a number of proposals [23, 25, 17, 22, 29, 5] to introduce the trust component in the evaluation process of the arguments. One common drawback of these attempts is that they do not return the intrinsic complexity of the trust notion, as highlighted instead by socio-cognitive models, as well as by several computational approaches to trust [1, 19, 18, 11, 12, 27] .. In this paper, we adopt the socio-cognitive model of trust proposed by Castelfranchi and Falcone [3] , and we elaborate its computational counterpart, although with some expressivity limitations due to the overall complexity of the model. We are interested in investigating how that socio-cognitive model of trust can be extended to a model based on argumentation. This breaks down into the following sub-questions:. -How to distinguish different dimensions of trust, e.g., sincerity and competence, and model their respective contribution? -How to model the trust feedback from arguments to information sources?. The latter issue is where we aim to make an original contribution to the literature. We address these questions starting from the argumentation-based model for belief revision recently proposed by da Costa Pereira et al. [5] , which originally lacked a representation of a cognitive model of trust and its inherent dynamics. We also limit our analysis to trust in agents as information sources, based on their track-record of delivering correct information, and with no regard for whether or not they are trustworthy in other types of activity. While this limited focus is justifiable in principle (John may be unreliable as a driver, and yet be perfectly trustworthy when it comes to informing me about traffic), it is also somewhat artificial, since even in exchanging information the features of the communicative action that are relevant for trusting the agent are not limited to the quality of the information being delivered (e.g., intentions also play a key role). This fact is explicitly addressed by socio-cognitive models of trust, as well as by other approaches to this topic [13] . However, the rationale for us to start small will become apparent in the rest of the paper, and further development of the framework is possible but left for future work. With respect to [5] , we extend that model along the following lines.. First, trust is not a monolithic concept: thus we relativize the notion of trust to the dimensions of sincerity and competence in various domains. For instance, a reliable motor mechanic will be considered competent in the cars domain, but not necessarily so when suggesting the best restaurant to eat pizza; conversely, a pizza maker is typically assumed to be trustworthy on the latter domain but not on the former. The trust in the information source is not absolute, but it is relative to an estimate of sincerity and competence in the relevant domain. Sincerity and competence thus combine to produce an aggregated degree of trust.. Second, trust is not a static concept, since there is a bidirectional link between the source and its information items. This means that an argument is more or less believable on the basis of the source's trustworthiness, but this leads to a feedback such that the invalidation of the argument, due to attacks by other trustworthy arguments, may feed back on the source's credibility. The sign of the feedback depends on how much the "quality" of the message surprises the agent w.r.t. its prior assessment of the source trustworthiness.. The paper is organized as follows: Section 2 highlights the main differences of our approach with related work, Section 3 provides the basic concepts of the model proposed by Pereira et al. [5] , Sections 4 and 5 introduce the multidimen-sional trust model and specify the feedback mechanism, and the Conclusions end the paper. Building on the socio-cognitive model of trust described in [3] and on previous work integrating trust, argumentation and belief revision [5] , in this paper we presented a formal framework for modeling how different dimensions of the perceived trustworthiness of the source interact to determine the expected quality of the message, and how deviations from such expectation produce a specific feedback on source trustworthiness. In particular, we characterize competence and sincerity as the key ingredients of trustworthiness, and model both as being domain-dependent. Competence and trustworthiness determine an evaluation of trustworthiness for the source, which in turn produces an expectation on the quality of its arguments. Whenever an argument violates the recipient's expectation on quality, this produces a feedback on its source-positive if the argument was better than expected, negative if it was worse. Depending on several criteria (most notably, uncertainty reduction and social comparison), this feedback is distributed among the two key dimensions of trustworthiness, to wit, competence and sincerity. Our model allows to detect the reasons behind the trustworthiness degree assigned to a source in a fine-gained way, and it is useful in such applications where the agents cannot simply avoid the interaction with the untrustworthy sources but they have to reason about trust.. Here, we applied this model to the case of agents exchanging and assessing arguments, but it could easily be extended to the exchange of any kind of factual information. The reason why we focused first on argumentation is because this provides a window on the agent's reasoning and the resulting process of belief change. This did not play a major role in the present paper, but it would be essential for most extensions of the model: for instance, to study how sources typically exchange information neither randomly nor out of mere kindness, but rather aiming at strategic changes in the recipient's beliefs and goals, to better serve the source's own agenda.. However, arguments in this paper were treated basically as black boxes, as it is most often the case in works based on abstract argumentation, in the vein of [9] . This is significant in two respects. First, we did not discuss the twoway relationship between source trustworthiness and trust in the message when what is being communicated is not the argument as a whole, but rather one of its constituents, e.g., a premise, its conclusion, or the inference rule licensing the argument, as in [22] . Finding out that the source is mistaken on the truth of some premise (hence the argument is unsound) rather than on the truth of the inference (hence the argument is invalid) is likely to have very different effects for the feedback on the source, which will have to be investigated in future work. Second, the internal structure of arguments in [5] is limited to deductively valid arguments, again as it is customary in abstract argumentation after Dung [9] . This is a huge idealization with respect to everyday argumentation: as informal logicians and argumentation theorists never tire to repeat [30] , we rarely, if ever, exchange deductively valid arguments, while the vast majority of arguments are defeasible, which implies a different sort of consequence relation.. Besides, sources often communicate explicitly the intended degree of strength of their arguments, thus expressing qualified reservations either on their soundness (the premise might be false) or on their validity (the inference might not always work)-see Toulmin's notion of qualifier [28] . What matters to us is that such qualification impacts both on argument assessment and on feedback dynamics: a very tentative argument which is given as such carries less weight in determining my beliefs, and at the same time its source is protected (partially or even completely) from negative feedback-after all, if it fails, that was explicitly countenanced by its source, so no blame needs to be assigned. Even more subtly, qualified arguments might induce very peculiar feedback, and not just insulate the source from criticism. Imagine I tell you that argument A makes a very feeble case for p: it carries some weight, but not much. Then you find out on your own not only that p was indeed the case, but also that A was a crucial argument to prove it. Now you have reason to criticize me as a source, not because the argument I gave you was defective, but on the contrary because I underestimated its quality while presenting it. As in the standard case, here you can think that I was honestly mistaken or deceptive, depending on several considerations. None of this can be investigated by sticking to deductively valid arguments, so future work will need to apply this approach also to (internally) defeasible arguments.. Moreover, at present the framework does not capture the cumulative effect of converging sources on argument acceptability, or the effect of converging arguments on belief strength; instead, we use the maximum trustworthiness value among all the sources of an argument, and we do something similar for arguments converging on the same conclusion. This is acceptable in light of all the other issues addressed in this paper, and to comply with length constraints. However, when more than one source offer the same argument or piece of information, its acceptability is positively affected, even if the trustworthiness assigned to the additional sources is not especially high, as discussed in [2] . Conversely, the feedback from the message to the messenger might also depend on how many messengers were making that particular claim, and how much trusted each of them were to start with. Sharing the blame for a bad argument, or the credit for a good one, might reduce the overall feedback in ways that are not countenanced by the current framework, since at present the degree of convergence/divergence is used only to distribute the feedback between credibility and sincerity.. Other limitations concern constraints implicitly imposed upon sources and how they interact with the evaluating agent. For instance, countenancing the possibility of sources providing information on other sources would open the way to fruitful integration of our approach with reputation models, as it is indeed customary in the literature on trust (see for instance [1, 19, 18, 27] ). Also, so far the agent who has to assess source trustworthiness is just a passive receiver of information, whereas it would be of great interest to study how trust can guide active queries to sources (as it is done in [10] ), and whether the fact that the source is responding to a query or spontaneously providing information makes any difference in feedback dynamics-as we suspect it might. In this context, another key dimension yet to consider is the relevance of the information provided by sources, with respect to the goals of the querying agents: recently Paglieri and Castelfranchi [20] discussed the role of trust in assessing source quality also in terms of relevance, and provided preliminary suggestions on how to include this further dimension in the model outlined in this paper.. Finally, the potential of the rule-of-thumbs discussed for feedback distribution has not yet been fully explored, since doing so will require implementing this model into a running multi-agent simulation and experiment with it. Uncertainty reduction and social comparison are not meant to capture empirical regularities in feedback dynamics, but rather to describe some general key principles, whose specific application to dialogical situations is bound to be context-dependent, and thus should be investigated empirically. Several worthy research questions could thus be addressed: What is the optimal level of uncertainty reduction, and how does it depend on features of the dialogical environment? Under what conditions (e.g., source independence and likelihood of collusion) social comparison heuristics are most likely to be effective, and how can they be made more robust against massive presence of malicious information sources and collusive dynamics? Agent-based social simulation offers a promising methodology to address these and other issues, hence the need to implement the model outlined in this paper in future work.. In spite of these limitations, our approach has the important merit of providing a unified framework to represent the effects of source trustworthiness on information assessment, and the converse impact of information quality on source evaluation. This is the cornerstone of rational trust in communication: we assess neither the messenger nor its message in isolation, but instead capitalize on their mutual interdependence to obtain information on the trustworthiness of both. On this simple foundation, many future studies may (and ought to) build. The importance of relating trust and argumentation has been underlined by Dix et al. [7] , who present trust as a major issue concerning the research challenges for argumentation. Also Parsons et al. [21] present the provenance of trust as one of the mechanisms to be investigated in argumentation. They claim that a problem, particularly of abstract approaches such as Dung [9] , is that they cannot express the provenance of trust, and the fact that b is attacked because b is proposed by agent s who is not trustworthy. Starting from this observation, we propose a model of argumentation where the arguments are related to the sources and their degree of acceptability is computed on the basis of the trustworthiness degree of the sources. Furthermore, our approach goes beyond this observation by providing a feedback such that the final quality of the arguments influences the source evaluation as well. Since it is based on abstract argumentation [9] , our proposal is currently limited to deductively valid arguments: extensions to other forms of validity are certainly possible, but left to future work.. Most studies in this domain used argumentation to model trust dynamics and/or reasoning about trust (e.g., [23, 17, 25, 29] ), which is a worthy but different enterprise from the one pursued here. Closer in spirit to the present paper is the work by Parsons et al. [26, 22] , who present a framework to introduce the sources in argumentation and to express the degrees of trust (for an updated review of both ways of linking trust and argumentation, see [14] ). They define trust-extended argumentation graphs in which each premise, inference rule, and conclusion is associated to the trustworthiness degree of the source proposing it. Thus, given two arguments rebutting each other, the argument whose conclusion has a higher trust value is accepted. The difference is that in such a framework the trust values associated to the arguments do not change and the arguments are accepted with the same degree even if they are attacked by more trusted arguments. Again, the feedback towards the source as well as the distinction between competence and sincerity is not considered.. A huge amount of research has been conducted on trust, and some of these works are described below, even if in this paper we limit our attention to the cognitive trust model of Castelfranchi and Falcone [3] . An approach to model trust using modal logic is proposed by Lorini and Demolombe [16] , who present a concept of trust that integrates the trusters goal, the trustees action ensuring the achievement of the trusters goal, and the trustees ability and intention to do this action-taking again inspiration from [3] . Another proposal is presented by Liau [15] , in which the influence of trust on the assimilation of information into the source's mind is considered. The idea is that "if agent i believes that agent j has told him the truth on p, and he trusts the judgement of j on p, then he will also believe p". Wang and Singh [31] , instead, understand trust in terms of belief and certainty: A's trust in B is reflected in the strength of A's belief that B is trustworthy. They formulate certainty in terms of evidence based on a statistical measure defined over a probability distribution of positive outcomes. Both Liau [15] and Wang and Singh [31] capture intuitions that play a role also in our approach, but they oversimplify the nature and dynamics of trust, as opposed to the socio-cognitive model discussed in Castelfranchi and Falcone [3] .. Finally, an important body of work has investigated the interplay between trust and reputation [1, 19, 18, 27] , often in relation to argumentation as well [14] . Although definitions tend to vary across approaches and authors, trust is typically seen as an individual measure of confidence that a given agent has over other agent(s), whereas reputation is a social measure of confidence that a group of agents or a society has over agents or groups, usually assessed by looking at how certain evaluations are spread and circulated in a given community [4] . While we consider the interplay between reputation and trust a key topic of research, in this paper we will avoid addressing reputational mechanisms, because our main aim is to discuss feedback dynamics from message quality to trustworthiness evaluations. It is entirely possible that there are also interesting feedback dynamics from argument quality to reputation values, but they are unlikely to be as straightforward as those based on trust (precisely because trust is a more individual notion), and in any case dealing with feedback dynamics for reputation would constitute a different research project. More generally, trust computation here is relevant only to provide a formal background to illustrate some ideas on feedback dynamics: if such ideas will turn out to be valuable, then we believe it would be useful to apply them also to other, richer trust formalisms. A classical propositional language may be used to represent information for manipulation by a cognitive agent.

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


The RPC calculus Several recent language designs have offered a unified language for programming a distributed system, with explicit notation of locations; we call these "location-aware" languages. These languages provide constructs allowing the programmer to control the location (the choice of host, for example) where a piece of code should run, which can be useful for security or performance reasons. On the other hand, a central mantra of WWW system engineering prescribes that web servers should be "stateless": that no "session state" should be maintained on behalf of individual clients-that is, no state that pertains to the particular point of the interaction at which a client program resides. Many implementations of locationaware languages are not at home on the web: they hold some kind of client-specific state on the server. We show how to implement a symmetrical location-aware language on top of a stateless server. Designing a web server requires thinking carefully about user state and how to manage it. Unlike a desktop application, which deals with one user at a time, or a traditional networked system, which may handle multiple simultaneous requests but in a more controlled environment, a modest web system can expect to deal with tens or hundreds of thousands of users in a day, each one can have multiple windows open on the site simultaneously-and these users can disappear at any time without notifying the server. This makes it infeasible for a web server to maintain state regarding a user's session. The mantra of web programming is: Get the state out!-get it out of the server and into the client. An efficient web server will respond to each request quickly and then forget about it even quicker.. Nonetheless, several recent high-level programming language designs [15, 17, 16] allow the programmer the illusion of a persistent environment encompassing both client and server; let us call these "location-aware languages." This allows the programmer to move control back and forth freely between client and server, using local resources on either side as necessary, but still expressing the program in one language. This paper shows how to implement Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. PPDP'09, September 7-9, 2009, Coimbra, Portugal. Copyright c 2008 ACM 978-1-60558-568-0/09/09. . . $10.00 a location-aware language in an environment with a stateful client and a stateless server.. The term stateless server, as it is applied by web engineers, means not that the server has strictly no storage, but rather that the server should not hold state pertaining to every thread of control on every one of its clients, which indeed may terminate without notifying the server. Typically, web servers do store persistent data-in a database, for example-but this data represents lasting, important information, rather than the ephemeral data supporting the immediate state of a particular client process. The challenge, then, is to support a location-aware language, where control state is maintained as transparently as in any programming language, even though the stateless-server substrate requires explicitly managing this state.. Our technique involves three essential steps: defunctionalizationà la Reynolds, CPS translation, and a trampoline [10] for tunnelling server-to-client requests within server responses.. CPS translation and defunctionalization were used by Matthews et al. [13] for a similar end, that of writing web interactions in direct style, rather than CPS. We adapt these techniques, adding a trampoline to the toolbox, to support RPC calls in a location-aware language.. A version of this feature is built into the Links language [5] . In the current version, only calls to top-level functions can pass control between client and server. Here we show how to relax the top-level restriction. In particular, the current, limited version requires just a CPS translation and a trampoline; defunctionalization is needed in implementing nested remote-function definitions.. The only form of state modeled by this calculus is the control state, or call stack. This is a very pure view of state; but the techniques used here could be expanded to handle other forms, as discussed in Section 6. In fact, in the Links language, there is no other form of state, although its utility is recovered through the use of multiple concurrent processes, as championed by the Erlang community. In particular, mutable cells can be simulated in such a language by a process that holds data in its local variables.. This paper We present a simple higher-order λ-calculus enriched with location annotations, allowing the programmer to indicate the location where a fragment of code should execute. The semantics of this calculus indicates where each computation step is allowed to take place. This can be seen as a semantics of a language with Remote Procedure Call (RPC) features built in.. We then give a translation from this calculus to a first-order calculus that models an asymmetrical client-server environment, and show that the translation preserves the locative semantics of the source calculus. We've shown how to compile a location-aware language to an asymmetrical, stateless, client-server calculus by using a CPS transformation and trampoline to represent the server's call stack as a value on the client. We hope to extend this in several directions.. This work uses a source calculus with location annotations, but writing the annotations may burden the programmer. It may be possible to automatically assign location annotations so as to optimize communication costs, perhaps by applying the work by Neubauer [16] . Because the dynamic location behavior of a program may be hard to predict, and because there are a variety of possible communication and computation cost models, and perhaps other issues to consider, such as security, the problem is multifaceted.. We hope to extend the source calculus by adding language features including exceptions, and generalizing by allowing each annotation to consist of a set of permissible locations (rather than a single one). We also hope to implement the λ calculus in Links.. As noted in the introduction, this calculus treats only a simple form of state, namely control state. We might wish to add a store with mutable references, in the fashion of ML. References could be treated as located, for example at the location where they are created. Statelessness could be preserved by serializing the store but encrypting server-located data so that only the server can read them. A security-conscious type system such as that of Corcoran, et al. [6] might be particularly useful here.. Other kinds of state can also be problematic, for example ongoing transactions with other services (disk, databases, and so on). These are more difficult since they don't admit serialization. Future work might accommodate limited statefulness on the server, with a facility for managing this state. Location-aware languages Although this the first work we're aware of that shows how to implement a location-aware language on top of a stateless server model, there is much work in the theory and implementation of location-aware languages.. Lambda 5 [15, 14] is a location-aware calculus with constructs for controlling the location and movement of terms and values. Lambda 5 offers fine control over these runtime movements, whereas our calculus uses the usual scope discipline of λ-binding and is profligate with data movements. Like ours, the translation of Lambda 5 to an operational model also involves a CPS translation; and where we have used defunctionalization, it uses the similar technique of closure conversion; it uses a stateful-server approach and hence no trampoline is necessary.. Neubauer and Thiemann [17] give an algorithm for splitting a location-annotated sequential program into separate concurrent programs that communicate over channels. By default the system requires that the two systems be equal peers, rather than an asymmetrical client-server pair. They note that "Our framework is applicable to [the special case of a web application] given a suitable mediator that implements channels on top of HTTP." The trampoline technique we have given provides such a mediator. They use session types to show that the various processes' use of channels are type-correct over the course of the interaction, in contrast to the always-receptive, stateless server of the present work.. Ohori and Kato [19] describe a locative language where the program is separated by the programmer into files for locations and locations can import values via a global name table. They translate this to a lower-level language with explicit RPC calls, which are restricted to act on concrete types communicable over a network. Like Neubauer and Thiemann's work, and unlike ours, at the low level the locations are all mutually accessible.. In a security context, Zdancewic, et al. [24] developed a calculus with brackets, which served as the model for our λ . Their results show how a type discipline, with type translations taking place at the brackets, can be used to prove that certain principals (analogous to locations) cannot inspect certain values passed across an interface. Such a discipline could be applied to our calculus, to address information-flow security between client and server. Matthews and Findler [12] give a nearly identical semantics which models multilanguage programs; here languages act like principals or locations in the other systems.. Defunctionalization After first being introduced in a lucid but informal account by John Reynolds [22] , defunctionalization has been formalized and verified in a typed setting in several papers [3, 2, 21, 18, 1] . We have formalized defunctionalization in an untyped setting, which is slightly easier because we need not segregate the application machinery by type. Danvy and Nielsen [8] and Danvy and Millikin [7] explore a number of uses and properties of defunctionalization.. Defunctionalization is very similar to lambda-lifting [11] , but lambda-lifting does not reify a closure as an inspectable value. Thus it would not be applicable here, where we need to serialize the function to send across the wire.. Murphy [14] uses closure-conversion in place of our defunctionalization; the distinction here is that the converted closures still contain code pointers, rather than using a stable name to identify each abstraction. These code pointers are only valid as long as the server is actively running, and thus it may be difficult to achieve statelessness with such an approach.

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


Accounting recognition of information as an asset Abstract The paper is an empirical study on how the international and national accounting standard members show their interest in recognising the assets based on their personal views based on the developed countries. This research also shows the most prevalent themes in the form of recognition criteria for a pre-measurement in asset based recognition where there is a lack of consensus on the proper accounting treatment of assets. Moreover, the theory generated shows how an information asset can be recognised based on rights based, how an information asset should be separable in nature based on the level of aggregation that the entity can see it suitable to be disclosed, it also shows the measurement criteria for a measurement basis where the entity should measure its disclosed information asset with. All of these themes and how they are grouped under the portrayal of an artifact documentary valuation based. The interplay, the interactions and the continuous comparison between incidents build up the "theory" as a set of recognition criteria for a pre-measurement phase for asset based recognition process.. This generated "theory" contains three sets of recognition criteria. The asset recognition criteria presented in this paper break free from the narrow definitional and rule based perspective of accounting epistemology to offer an alternative view based on the recognition of artefacts. The generated theory is considered a novelty in the research area where it enables some of the unrecognisable intangible assets to be recognised in the financial statements.

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


Augmented hyperbooks through conceptual integration We describe the automatic transformation of a traditional electronic document into a augmented, virtual document. After converting the content into a "small-scale" hyperbook structure with an ontology and textual fragments, we calculate semantic similarity relations between the concepts of this hyperbook and a reference hyperbook. We finally rebuild the document by involving the retrieved hyperlinks. The aim is to show that the integration process also works without a highly detailed ontological structure of the source document. The last years, we have been working on the automatic integration of hyperbooks into digital libraries. The aim was not only to put the content of a book into a DL, but also to have a true semantic integration that augments a hyperbook with relevant information fragments found in other books of the DL [2] . The idea is to provide the readers with additional information they need, for instance additional examples, term definitions, more detailed or more general information, etc.. The hyperbooks in question are based on the virtual document principle. They are made of an information layer of logically and narratively linked information fragments and a conceptual layer of semantically interconnected concepts [5] . The two layers are connected through concepts-to-fragments links. They can optionally be typed to reflect the role played by a fragment with respect to a concept (definition, example, description), much in the spirit of [1] . The augmentation technique we propose is based on the creation of 'conceptual equivalence' links between the hyperbooks' conceptual layers.. In this contribution, we focus on establishing links between a "small-scale" hyperbook that was derived from a web site and a more complete comprehensive hyperbook. Concretely, such a "small-scale" hyperbook is built from a domain ontology, which contains the most important concepts representing the hierarchical structure of the Web site. Links between the concepts are established by "is a" or "part of" links. Most of the concepts could be easily extracted, for instance by inspecting tables of contents, indexes, or glossaries. Fragments represent sections and subsections of the hypertext and are linked to the concepts. The fragment structure is stored in a XML-tree that enables the reconstruction of the Web pages after the integration process. In this way, we obtain a hyperbook from a Web site in very short time.. As example, we take a Web site including information about different aspects of Norwegian agriculture. Agriculture politics stands today in conjunction with rules of the World Trade Organization (WTO). The Web site mentions the WTO in a general context, but there is no specific information provided about the WTO. People interested in the specific functions of the WTO in conjunction with agriculture are obliged to find this information on other sites. Our aim is to create a simple hyperbook out of the mentioned Web site (the "source hyperbook") that provides information of another hyperbook (the "target hyperbook") integrated directly in the Web pages.. In recent years, we have developed a hyperbook about the WTO that includes different aspects of the organization, also agriculture. It will serve here as the target hyperbook and includes a domain ontology as well as a fragment repository. In contrast to the source hyperbook, fragments here are small texts explaining aspects of a specific concept.. Another aim is to show that the integration process is working even if there is no highly detailed structure in the ontology and the fragment repository of the source hyperbook. We take only some concepts and referred fragments that were derived from the Web pages. This approach is adequate to generate semantic relations between two hyperbooks. The next section explains our hyperbook comparison algorithm and section 3 shows how we generate augmented hypertext. Figure 1 shows a graphical representation of the source hyperbook built from the mentioned Web site. It contains 11 concepts of which 9 are annotated by a fragment (in gray). We extended a Web site with information of a reference hyperbook. The approach is mostly based on ontology matching and on generating virtual documents. Major problems of word matching-based approaches were resolved by considering word and fragment matching. The crucial problem of combining the different results was resolved by choosing a restrictive combination formula that sorts out only few, but evident semantic similarity relations. Finally, a virtual document was created by including the hierarchical structure of the ontology of the target hyperbook and by applying link inference mechanisms. We also focused on extending the target hyperbook with information provided by the source hyperbook. It is easy to place the fragments into the target hyperbook, but we have to handle big pieces of text in such an inverse process. As the target hyperbook has already a fine graded structure, we consider it as a pivot hyperbook. The comparison of concepts of a third hyperbook will not take into consideration the fragments with other origin than of this pivot hyperbook, but they could serve to enrich the virtual document. In this way, a Digital Library will be created around this pivot hyperbook. Another question is how to consider the level where concepts stand in the ontology. We assume that the source hyperbook has a flat structure. If we find a semantic similarity relation between a concept of the source hyperbook and a concept on a high level in the hierarchical structure of the target hyperbook, the semantic of this relation might be low. As sub-concepts inherit all attributes of their super-concepts, we could involve fragments of sub-concepts into the comparison process especially if there is no directly linked fragment.

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


Robosemantics: How Stanley the Volkswagen Represents the World Abstract One of the most impressive feats in robotics was the 2005 victory by a driverless Volkswagen Touareg in the DARPA Grand Challenge. This paper discusses what can be learned about the nature of representation from the car's successful attempt to navigate the world. We review the hardware and software that it uses to interact with its environment, and describe how these techniques enable it to represent the world. We discuss robosemantics, the meaning of computational structures in robots. We argue that the car constitutes a refutation of semantic arguments against the possibility of strong artificial intelligence. Despite its impressive navigational accomplishments, Stanley fell far short of human-level intelligence. It has no capability of processing natural language, and no one would claim it has consciousness. Its problem solving ability is less than a cockroach, which can not only navigate a complex environment but also find food, mate, and avoid being stomped. Nevertheless, there was dramatic progress between the 2004 DARPA Grand Challenge, when none of the robotic vehicles managed to complete the course, and the 2005 challenge, when four other vehicles completed the course after Stanley, using a variety of kinds of hardware and software (see the technical reports available at DARPA 2005). These impressive achievements were repeated 2 years later in the 2007 DARPA Grand Challenge, which required autonomous vehicles to complete a 60-mile urban course safely, obeying traffic laws, in less than 6 h. To interpret sensory information, it used similar kinds of probabilistic filtering techniques employed by Stanley and many earlier robots. Boss and most of its competitors translated sensory information into discrete rules for guiding action. Such translation was necessary because urban traffic is governed by precise rules of conduct, unlike the less constrained desert navigation in the 2005 competition. Boss had more computing power than Stanley, with 10 computers containing 20 CPUs. It took months of testing to get Boss ready for the Urban Challenge, including considerable tuning of software by Boss's programmers but also use of machine learning algorithms to improve its interpretation of sensory inputs (Paul Rybsky, personal communication, Feb. 22, 2008) . Thus Stanley's Bayes network software is not the only way of building robots, and it is debatable whether the human brain is similarly Bayesian. Obviously, the brain is a sophisticated processor of statistical information, but that does not imply that it uses the particular machinery of Bayes networks: directed acyclic graphs obeying crucial conditions about probabilistic dependence. Some psychologists think that the human mind incorporates Bayes networks (Gopnik et al. 2004 ), but others are skeptical (Rehder and Burnett 2005) . One of the advantages of looking at robots is that we know how Stanley was built to learn about and to interact with the world, and probabilistic reasoning is a central part of its design. We have described how they enabled Stanley to represent the world in ways that derive from its own sensing, acting, inference and learning capabilities, not just those of its initial programmers.. Philosophers use the term intentionality for the human capability of having internal representations that are about the world. If you are wondering whether robots can have intentionality, the reasonable answer is: they already do.

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


Numerical method for the wave and nonlinear diffusion equations with the homotopy perturbation method In this paper, the homotopy perturbation method and a modified homotopy perturbation method are used for analytical treatment of the wave equation and some nonlinear diffusion equations, respectively. Some examples are given to illustrate that a suitable choice of an initial solution can lead to the exact solution, this revealing the reliability and effectiveness of the method. Nonlinear partial differential equations are useful in describing the various phenomena in disciplines. Apart of a limited number of these problems, most of them do not have a precise analytical solution, so these nonlinear equations should be solved using approximate methods.. The homotopy perturbation method (HPM), first proposed by He in 1998, was developed and improved by He [1] [2] [3] . Very recently, the new interpretation and new development of the homotopy perturbation method have been given and well addressed in [4] [5] [6] [7] . The homotopy perturbation method [1] [2] [3] [4] [5] [6] [7] is a novel and effective method, and can solve various nonlinear equations. This method has been successfully applied to solve many types of nonlinear problems, for example, to nonlinear oscillators with discontinuities [8] , nonlinear wave equations [9] , limit cycle and bifurcations [10] [11] [12] [13] , non-linear boundary value problems [14] , asymptotology [15] , to Volterra's integro-differential equation by El-Shahed [16] , some fluid problems [17, 18] and many other subjects [19, 20] .. The HPM offers certain advantages over routine numerical methods. Numerical methods use discretization which gives rise to rounding off errors causing loss of accuracy, and requires large computer power and time. The HPM method is better since it does not involve discretization of the variables, hence is free from rounding off errors and does not require large computer memory or time.. In this paper, the homotopy perturbation method is used to solve the wave equation, where the domain of the space variable is unbounded, and a modified homotopy perturbation method to some nonlinear diffusion equations to obtain exact solutions without any restrictive assumptions that may change the physical behavior of the solutions. It is worth mentioning that in order to make the HPM more effective, He's polynomials are used in the modified homotopy perturbation method. The idea of He's polynomials was first suggested by Ghorbani to deal with nonlinear terms when using the HPM [24, 25] , and was then also used in the variational iteration method to deal with nonlinear terms in the correction functional [26] . In this paper, several examples are given to reveal the efficiency and reliability of the modified homotopy perturbation method. In this work, we apply He's homotopy perturbation method and a modified homotopy perturbation method to solve wave equations and nonlinear diffusion equations. The methods yield their exact solutions with a few iterations and comparisons were made between the D'Alembert formula, Adomian's decomposition method, the variational iteration method and the homotopy perturbation method. These results have proven that the homotopy perturbation method is reliable and efficient in handling nonlinear problems.

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


OPINION DYNAMICS DRIVEN BY LEADERS, MEDIA, VIRUSES AND WORMS A model on the effects of leader, media, viruses, and worms and other agents on the opinion of individuals is developed and utilized to simulate the formation of consensus in society and price in market via excess between supply and demand. Effects of some time varying drives, (harmonic and hyperbolic) are also investigated. Within the existing literature about formation of consensus in a society in terms of opinion dynamics, several models and approaches were developed and utilized. Recently, we applied opinion dynamics to econophysics. (See, [1] for Sznajd model; [2] for a review; [3] [4] [5] [6] for voters model; [7] for our application to market.) In the present literature focuse will be on the effects of leaders and media, where some more complicated agents, such as viruses and worms are also considered. Model is displayed in the following section. Applications are performed in the next one. Last section is devoted to conclusion. We do not certainly aim at saying that, any society may be driven according to any albebraic expression. Yet, the algebraically approximated tendencies may involve many clues. The nonlinearity within the response of the society to different algebraic forms may be result of a "social memory". For example, it can be observed that, antithetical people may be playing the role of absorbers (inertia (?)) of the society, against several driving effects.. Many quantities, such as the connectivity and strength of bonds, as well as the percentage of antithetical people in the given society, etc. are needed to known empirically for better utilization of the presented results, else than the assumptions made about the relevant issues. Evolution of opinions, where initial opinions (of the society composed by 10,000 citizens) are randomly distributed between -1 and 1. Perpendicular axis is linear at left, and logaritmic at right.

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


Optimal Leaf Ordering of Complete Binary Trees Ordering a set of items so as to minimize the sum of distances between consecutive elements is a fundamental optimization problem occurring in many settings. While it is N P-hard in general, it becomes polynomially solvable if the set of feasible permutations is restricted to be compatible with a tree of bounded degree. We present a new algorithm for the elementary case of ordering the n leaves of a binary tree with height log n + O(1). Our algorithm requires O(n 2 log n) time and O(n) space. While the running time is a log-factor away from being asymptotically optimal, the algorithm is conceptually simple, easy to implement, and highly practical. Its implementation requires little more than a few bit-manipulations. Given a set of elements and a pairwise distance function, it is a fundamental problem to determine an ordering which minimizes the sum of distances between consecutive elements. For example, the well-known Traveling Salesman Problem (TSP) is an instance of this category, showing that the general problem is N P-hard.. If the class of permutations is restricted to be compatible with a tree in which the elements to be ordered form the leaves, the problem is polynomially solvable if the maximum degree of a tree node is bounded by a constant [1] . Instances of this kind occur, e.g., in dendrogram seriation [2] or pixel ordering for image compression [3] . The best previous algorithms to solve this problem exactly required O(2 d n 3 ) time and O(2 d n 2 ) space [1] or O(4 d n 3 ) time and O(dn 2 ) space [2] , where n is the number of leaves and d is the maximum degree of any node in the tree. Recently an optimal, though somewhat involved, O(4 d n 2 ) time and O(4 d n) space algorithm has been proposed by Deȋneko and Tiskin [4] .. Here we consider the special case of complete binary trees, which naturally occurs in applications such as the above-mentioned pixel ordering where the permutation tree can be introduced at will. It is used to linearly order the pixels so that they form longer intervals with equal color and thus to improve image compression ratios. For this particular application, it is illustrated in [3] that quadratic space requirement is prohibitive, since for an image of 512×512 pixels, even a single byte per pixel pair results in a total of 64 Gigabytes. We here present a practical O(n 2 log n) time and O(n) space algorithm, which reduces the memory requirement in this example to about a Megabyte.. The remainder is organized as follows. In Sect. 2, we formally define the leaf ordering problem and recapitulate a dynamic programming approach used in previous algorithms. Our new algorithm is introduced and analyzed in Sect. 3. We first show how to compute only the value of an optimal ordering, and then extend the algorithm to determine the optimal ordering as well. We conclude with a brief discussion in Sect. 4. We have presented a highly practical algorithm for determining optimal leaf orderings of complete binary trees with respect to a dissimilarity function d : V × V → R. It runs in near-optimal O(n 2 log n) time, requires only O(n) extra space, and can be implemented with just a few bit-operations on position indices. In particular, an input array is ordered without constructing the orderrestricting binary tree.. The algorithm works without modification for position-dependent dissimilarities (defined on V ×V ×{0, . . . , |V |−1}). It is easily modified to maximize sums of similarities or optimize cyclic sums (tours instead of orderings). Furthermore it generalizes to binary trees with height log n + O(1) by completing the input, i.e. by adding dummy subtrees. Note that completing a binary tree of height log n + h results in a tree with O(hn) leaves. Note also that completion of trees with larger height yields a superlinear number of leaves.. Unfortunately, the algorithm cannot be generalized to arbitrary boundeddegree trees in the same way as previous approaches [1, 2] without allowing more than linear space.

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


Universality in Two-Dimensional Enhancement Percolation We consider a type of dependent percolation introduced in [2] , where it is shown that certain "enhancements" of independent (Bernoulli) percolation, called essential, make the percolation critical probability strictly smaller. In this paper we first prove that, for two-dimensional enhancements with a natural monotonicity property, being essential is also a necessary condition to shift the critical point. We then show that (some) critical exponents and the scaling limit of crossing probabilities of a two-dimensional percolation process are unchanged if the process is subjected to a monotonic enhancement that is not essential. This proves a form of universality for all dependent percolation models obtained via a monotonic enhancement (of Bernoulli percolation) that does not shift the critical point. For the case of site percolation on the triangular lattice, we also prove a stronger form of universality by showing that the full scaling limit [12, 13] is not affected by any monotonic enhancement that does not shift the critical point. One of the most interesting phenomena in statistical physics is the presence, in the phase diagram of many physical systems, of "critical points" where some thermodynamic quantities or their derivatives diverge. Experimentally, it is found that such divergences are usually of power law type, and therefore characterized by exponents, called critical exponents. The theory of critical phenomena, developed to explain this behavior, suggests the existence of large "universality classes" such that systems belonging to the same universality class have the same critical exponents.. A closely related notion of universality concerns the "continuum scaling limit," which is obtained by sending the microscopic scale of the system (e.g., the mesh of the lattice, for discrete systems defined on a lattice) to zero, while focusing on features manifested on a macroscopic scale. Such a limit is only meaningful at the critical point, where the correlation length (i.e., the "natural" length scale that characterizes the system) is supposed to diverge.. The concept of universality and the existence of universality classes arise naturally in the theory of critical phenomena (based on Renormalization Group techniques), and are backed by strong theoretical and experimental evidence. Nonetheless, very few rigorous results are available, especially below the upper critical dimension, where the values of the critical exponents are expected to be different from those predicted by mean-field theory (there are, however, some exceptions -see, e.g., [45, 46, 40, 15, 16, 11, 9, 36, 19, 7] for results concerning percolation and the Ising model). The main aim of this paper is to present some rigorous results in support of the idea of universality in the context of percolation theory in two dimensions (see [29, 26] for detailed accounts on percolation theory).. In recent years, substantial progress has been made in understanding two-dimensional critical percolation and its conformally invariant scaling limit (see, e.g., [42, 43, 39, 20, 12, 21, 13, 14] , and in computing the percolation critical exponents by means of mathematically rigorous methods [44, 30] . The new tool that made this possible is the Stochastic Loewner Evolution introduced by Schramm [38] , together with Smirnov's proof [42, 43] of the conformal invariance of the scaling limit of crossing probabilities for site percolation on the triangular lattice.. Here we will focus on a class of percolation models, called enhancement percolation, introduced in [2] (see also [26] ). Enhancement percolation configurations are obtained by modifying, according to some local set of rules, the configurations generated by an independent (Bernoulli) percolation process. Other dependent percolation models obtained in a similar way arise naturally in different contexts such as the nonequilibrium dynamics of stochastic Ising models at zero temperature (see, for instance, [8, 25, 27, 34, 35, 10, 23] ) and cellular automata like bootstrap percolation (see, for instance, [3, 37, 22] ).. The enhancements that we are interested in are endowed with a natural monotonicity property and are such that they do not change the nature of the phase transition and do not shift the critical point p c , therefore transforming an independent critical percolation model into a different, but still critical, dependent percolation model. However, even an enhancement that does not shift p c can modify significantly the initial percolation process, and it could a priori induce "macroscopic" changes; it is therefore natural to ask whether such an enhancement can change the continuum scaling limit and the critical exponents. We show that this is not the case for the class of enhancements studied here.. The result is not surprising, if seen in the context of the Renormalization Group picture which suggests that, as long as the enhancement has finite range, it should not affect the scaling limit and the critical exponents (see, for example, [18] ). However, the Renormalization Group picture remains largely nonrigorous and no general formalism has been developed so far to put it on more solid ground. Moreover, as the eight-vertex model [5] and some spin models [31, 32, 33] show, the concept of universality needs to be taken with some care.. Universality results in the same spirit as those presented in this paper can be found in [15, 11, 16, 9] (in [28] , universality for critical exponents is tested numerically). Generally speaking, one way to look at these results is as an attempt to test the "robustness" of the scaling limit and critical exponents, as well as to give examples of a strong form of universality by constructing different (dependent) percolation models with the same critical exponents and scaling limit as independent percolation. The percolation models considered in [15, 11, 16] (and in [28] ) are generated by applying certain cellular automata to independent percolation configurations. In those cases, the initial percolation configurations and the rules of the cellular automata possess a global "spin-flip" symmetry. The situation in [9] and in this paper is different because the dynamics (or the enhancement) breaks the global "spin-flip" symmetry.. A key tool in proving the universality results is a coupling between the independent percolation process (before the enhancement) and the enhanced one, which allows to compare the two processes. This method does not apply directly to essential enhancements that do shift the critical point (because in that case, if one starts at the critical point, the enhanced process is supercritical). That situation is very interesting and deserves to be studied, but unfortunately the methods used in this paper do not seem to be useful there.. Before addressing the universality issue, we present a new result about two-dimensional enhancements endowed with a natural monotonicity property. This complements one of the main results of [2] , where it is proved that certain enhancements, called essential, always shift the critical point p c . We show that a two-dimensional, monotonic enhancement that is not essential cannot produce an infinite cluster, and therefore leaves the critical point unchanged. In particular, this means that the monotonic, nonessential enhancement of a critical (Bernoulli) percolation process is still critical, and that the phase transition in the enhanced model is still second order (or continuous). This motivates the rest of the paper, since it identifies a class of critical, dependent percolation models for which it is natural to ask about critical exponents and scaling limits.. The rest of the paper is organized as follows. The next section contains a preview of some of the main universality results, in the context of site percolation on the triangular lattice. Analogous universality results for the square and the hexagonal lattice are stated later on, in Section 4. Before that, enhancement percolation is precisely defined and discussed in Section 3, where new results about monotonic enhancements in two dimensions are also presented. The last two sections are dedicated respectively to the proofs of the results on enhancement percolation (Section 5) and of the universality results (Section 6).

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