Minimizing energy consumption for high-performance processing Abstract Power consumption is a major concern for the design of portable devices. These devices are usually powered by a battery of a very limited capacity. Fortunately these devices often do not require vast computational capabilities, although this has been changing in the past few years. While designing portable devices it is often very easy to make trade-offs in favor of reducing power consumption even if they have a large impact on performance.. Recently, power consumption is becoming a major factor in the design of high-performance processors. Most of the traditional power reduction techniques focus mainly on the circuit and process level [11] . Many architectural techniques that are available for reducing power consumption are not used in these devices because the impact on performance is too great. In order for a technique to be used it must show a significant improvement in power consumption while having little or no impact on performance.. One of the best techniques for power reduction is to lower the supply voltage of the processor. Unfortunately this also increases the circuit delay, and therefore, the clock speed has to be lowered. Since a processor needs to be running at full speed only a fraction of the time, a variable voltage variable frequency processor can show a significant reduction in energy consumption without significantly increasing run time [3] . For these variable voltage variable frequency processors, much effort has been exerted to find efficient scheduling techniques [3, 6, 8, 9, 12, 13] . These techniques rely on the fact that often the standard processor is idle and hence the clock frequency and processor voltage can be reduced. However an alternative method to compensate for the reduction in clock frequency is to try to process data in parallel at lower frequency and hence lower voltage.. It is easy to conceive that 200 Intel XScale processors running at 500mW can outperform a Compaq Alpha 21364 at 100W on workloads with sufficient parallelism [10] . However to the best of our knowledge, no studies exist that test or validate such an assertion. Methods to exploit parallelism fall into two categories: Simultaneous Multi-Threaded (SMT) processor or a Chip-Multiprocessor(CMP). The use of a CMP and SMT for next generation wireless technology was compared with a uniprocessor [7] . In that study the power consumption for both the SMT and CMP processors were far lower than the uniprocessor. The SMT edged out the CMP, but the CMP's resources could have been optimized to reduce its power consumption even further.. In this paper we study a workload well suited for parallelization. We perform a systematic study to quantify the impacts of voltage reduction, clock frequency and the size of the caches and BTB on the energy consumed while meeting the application deadline requirements. Our study makes the following three important contributions: 1) we establish that an arbitrary multiprocessor based architecture will not save energy, 2) a constrained multiprocessor architecture can lead to energy savings without increasing execution time, and 3) constraining cache and BTB sizes can further reduce energy consumption in a multiprocessor setting while still meeting the performance requirement.. The rest of of the paper is organized as follows. In section 2, the appropriate first order power and delay equations are examined. In section 3, the workload and experiments are characterized. In section 4, the simulation environment is explained. In section 5, the experimental results are reported. In section 6, future work is stated. Finally section 7 concludes the paper. In this paper we investigated the potential energy savings of implementing a specific, though common workload using a multiprocessor. Examination of other workloads would help to validate the use of multiprocessing for power savings. Some workloads will not parallelize as well as this workload making the trade-off evaluation more complex. Future work will involve developing an analytical model that estimates the minimum amount of parallelism that is needed for a multiprocessor to save energy.. Further developments of the simulation environment will include a shared bus multiprocessor model along with an actual parallel version of the MPEG-2 encoder. Additional processor resource optimization will be explored in an attempt to further reduce energy consumption.. Another future project is to develop an analytical model to calculate near optimal cache and BTB sizes for a particular workload. This would reduce the total simulation time needed to find a power efficient architecture for a particular workload. Multiprocessing is a promising technique for saving energy on certain workloads. A 4-way multiprocessor can have up to an 56% energy reduction as compared to a uniprocessor when running a CPU intensive DSP type application. This energy advantage is observed even when the multiprocessor has to execute 33% more instructions. Along with using multiprocessing, proper sizing of the largest power consuming blocks also shows a noticeable energy saving. The two most likely candidates for size optimization are the caches and the BTB. Optimizing the cache and BTB sizes can yield a further 16% improvement in energy consumption while still out-performing a uniprocessor. The comparison of the voltage and frequency constrained multiprocessors is presented in Section 5.1. The processor is further constrained by reducing the cache sizes in Section 5.2. The BTB sizes are reduced in Section 5.3. Finally in Section 5.4 a combination of the cache and BTB size reduction is used to provide the best energy savings result. As mentioned in Section 3, the only configuration that was studied in detail was the four processor case.

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


Wavelet Frame Accelerated Reduced Support Vector Machines Abstract-In this paper, a novel method for reducing the runtime complexity of a support vector machine classifier is presented. The new training algorithm is fast and simple. This is achieved by an over-complete wavelet transform that finds the optimal approximation of the support vectors. The presented derivation shows that the wavelet theory provides an upper bound on the distance between the decision function of the support vector machine and our classifier. The obtained classifier is fast, since a Haar wavelet approximation of the support vectors is used, enabling efficient integral image-based kernel evaluations. This provides a set of cascaded classifiers of increasing complexity for an early rejection of vectors easy to discriminate. This excellent runtime performance is achieved by using a hierarchical evaluation over the number of incorporated and additional over the approximation accuracy of the reduced set vectors. Here, this algorithm is applied to the problem of face detection, but it can also be used for other image-based classifications. The algorithm presented, provides a 530-fold speedup over the support vector machine, enabling face detection at more than 25 fps on a standard PC.Index Terms-Cascaded evaluation, coarse-to-fine classifier, face detection, machine learning, over-complete wavelet transform (OCWT), reduced support vector machine (RVM). In this paper, we presented a novel efficient method for SVM classifications on image-based vectors. The essential ingredient was an recursively applied optimally matched wavelet transform of the reduced set vectors. It was demonstrated on the task of face detection.. As opposed to the RVM, the sparseness of operations required for classification is not only controlled by the number of reduced set vectors but also by the number of wavelets basis functions used to approximate a reduced set vector. Hence, negative examples can be rejected with much less number of operations, making the runtime of the algorithm very efficient. Moreover, as the Haar wavelets are used, the SVM kernel may be evaluated extremely efficient using integral images.. The main advantage of this algorithm compared to other classifiers is that the learning stage of our proposed wavelet approximated reduced SVM is fast, straightforward, automatic, and does not require the manual selection of ad-hoc parameters and is, therefore, simple. The approach is straightforward because of our paradigm to avoid a complex search over the parameter space, by starting with the proved optimal performance of an SVM. Then we reduce the complexity by a reduced vector set and the over-complete wavelet approximation. The W-RVM is simple to re-implement. In Section II-B5, we propose a detailed pseudo code. The only input is the SVM and RVM. The used matrix notation makes the double-cascaded structure visible, supports vectorized code and reduces the update rule. This speeds up the training significantly. The parameter are adjusted automatically by the algorithm, e.g., for the number of resolution levels and the number of approximated vectors per level (Section II-C1). Also, the thresholds in (20) are obtained automatically. These thresholds are set to yield a given false rejection rate (FRR). The tradeoff between FRR and FAR is the only parameter of our algorithm to be set by the user because it depends on the requirements of the application (Section II-C). All other parameters are automatically adjusted. The learning stage is fast, because the training of the W-RVM takes about 2 h instead of weeks.

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


Tapping into the Vibe of the city using VibN, a continuous sensing application for smartphones We present VibN, a mobile sensing application deployed at large scale through the Apple App Store and the Android Market. VibN has been built to determine "what's going on" around the user in real-time by exploiting multiple sensor feeds. The application allows its users to explore live points of interest of the city by presenting real-time hotspots from sensor data. Each hotspot is characterized by a demographics breakdown of inhabitants and a list of short audio clips. The audio clips augment traditional microblogging methods by allowing users to automatically and manually provide rich audio data about their locations. VibN also allows one to browse historical points of interest and view how locations in a city evolve over time. Additionally, VibN automatically determines a user's personal points of interest, which are a means for building a user's breadcrumb diary of locations where they have spent significant amount of time. In this paper, we present the design, evaluation, and results from the large scale deployment of VibN through the popular Apple App Store and Android Market. Sensor-enabled smartphones are becoming a mainstream platform for researchers to collect information-rich data because smartphones allow the characterization of human activity and context at scale [11, 8, 2, 12] . We believe that continued research in smartphone sensing will allow us to characterize people, places, and communities as never before possible. As a case example, CenceMe [11] is an application that infers a person's activity and context using multiple sensors 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, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SCI '11, September 18, 2011 in a mobile phone. Figure 1 shows CenceMe data collected in Hanover, New Hampshire, over a month across 20 users. Aggregate activities such as sitting, standing, walking, and running are represented by colored markers. We can easily examine the geographic distribution of basic human activities and reason about location relationships. For instance, the red circle in Figure 1 marks the Computer Science department at Dartmouth College, which is mainly characterized by the "sitting" inferred state. CenceMe's inference is in accordance with the nature of a computer science department, i.e., the department is in an office building where people are mostly sitting during their work hours. The CenceMe example helps us understand the significance of collecting data using a continuous sensing application running on multiple smartphones. We are given the opportunity to characterize spaces at a very fine grained level, which is generally impossible without burdensome subject polling. Such information may be useful, for example, to help city managers understand how people exploit urban spaces, resulting in improved urban planning. Alternatively, physicians may learn the health behavior of a community and use this information for community health assessment and recommendations. Distributed sensor monitoring and inference can provide real-time insights, augmenting inter-person interaction, as well as interactions between people and spaces. Questions we may answer include: what music is being played at a particular club right now, how many people are at the club, and what are their demographics? Where is the quietest place in the city to read a book? How many people are jogging in the park right now, so that I won't be alone during my run today? This paper presents VibN [1] , a continuous sensing application for smartphones. The goal of VibN is to answer questions such as those posed above by collecting sensor data, executing inferences, and presenting results to users that inform them in real-time about "what's going on" around them. VibN automatically provides structured visual information about the places people spend their time by displaying realtime hotspots of the city, which we call Live Points Of Interest (LPOI). We think this paradigm poses vast improvement over other models that are constrained by manual input, such as in the Wertago application. A LPOI, which is derived from a backend clustering algorithm, is represented by the demographics of its inhabitants, such as average age, ratio of men and women, and their relationship status. VibN allows its users to replay historical LPOIs, encouraging observation on how hotspots and their demographics evolve over time. In this work, we define a point of interest as any location that people spend a significant quantity of their time. Thus, places of work, living, and entertainment are points of interest. VibN also introduces a new dimension to microblogging through the Vibe it! feature, which allows a user to record audio commentaries. Audio input provides richer means of building understanding about locations, activities, and events than the current short text microblogging model. However, because VibN is founded on an opportunistic sensing paradigm [4] -where the user is not an active participant in the sensing phase-it also transparently records short audio clips in the background to provide near continuous audio context. Segments of audio containing voice are filtered out from the clip to preserve the user's privacy. VibN also automatically and transparently builds a personal diary, giving the user an opportunity to track locations of significance and related audio vibes. This paper will discuss our system design, implementation, and evaluation of VibN.. In summary, these are the key contributions of our work: 1) We show that VibN, by running continuously in the background on smartphones, is able to characterize the way people and communities interact with the locations they inhabit. 2) We present the design, implementation and evaluation of VibN, which has been deployed at large scale through the Apple App Store and the Android Market, and used by over 1000 users in six months of operation. In this paper we presented the design, implementation, and evaluation of VibN, a continuous sensing application for smartphones. We discussed the implementation of VibN for the iOS and Android platforms and showed its performance on the Apple iPhone 4 and Google Nexus One. We presented the characterization of the application from the release of VibN to the public through app stores such as the Apple App Store and the Android Market. We reported on the characterization of the application from the usage of over 1000 users using it worldwide. Smartphones are becoming a mainstream platform for realizing mobile sensing applications and frameworks at scale [2, 5, 9, 15, 3, 16, 19, 11, 12, 13, 10] . Several techniques to optimize the usage of the phone's resources for continuous mobile sensing applications have recently been presented [18, 14, 7] . Researchers consider mobile sensors a scalable way to collect sensor data without the need of a fixed infrastructure by using ad-hoc sensors on moving objects such as bikes [6] , or smartphones with an application for audio noise mapping [16] . These are examples of techniques useful to derive sensor data maps of places and cities in a scalable fashion. There is continuous growth of applications designed to promote awareness of city events, or as a means of socially connecting people based on location, e.g., Foursquare.These applications are usually user input driven. More recent applications, such as TweetMic, allow association of audio clips with individual Twitter accounts. Overall, these applications share a similar goal, which is to meet the increasing interest in gathering real-time information about places and to more efficiently take advantage of what a city has to offer. The goal of VibN is to meet the demand for realtime rich content information by exploiting continuous sensing on smartphones. Researchers [17] have already started to realize the opportunity behind using large scale application distribution systems (such as app stores) to collect data beyond the boundaries of a research lab. A study showing how to apply a multi-modality sensing approach to correct localization error has been shown in [2] .

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


Enhancing SAT-based sequential depth computation by pruning search space The sequential depth determines the completeness of bounded model checking in design verification. Recently, a SATbased method is proposed to compute the sequential depth of a design by searching the state space. Unfortunately, it suffers from the search space explosion due to the exponential growth of design complexity. To alleviate the impact of state space explosion, we propose a search space reduction method. We collect the learned states and consider them constraints for further path searching. Furthermore, we propose a heuristic to guide the SAT-solver to efficiently find a shortest path. The experimental results show that as compared to another method which also enhances the previous SAT-based method using a branch-and-bound strategy, our approach obtains more improvements. Bounded Model Checking (BMC) [1] [2] [3] has become an important technique in modern design verification. The basic idea of BMC is to search an error violating a property within a bounded depth k in a finite state system. If no error is found, BMC repeats the search by incrementing k until either an error is found or a pre-computed bound is reached. This bound can be considered a threshold of the design which determines the completeness of BMC. This is because when BMC has explored the complete state space and no error is found, it ensures that certain property holds in the design. With the threshold, BMC can be used not only to find errors, but also to prove correctness.. Previously, many work have addressed the problem of computing the threshold for BMC. In [6] , Sheeran et al. observe that no more iterations should be performed if no new states exist in future iterations. They present a SAT-based method to identify a path of length i starting from the initial state. If a path exists, a new state exists, and then they repeat to identify a longer path by incrementing i until no path exists. However, the computed value, i, is always an over-approximated solution and may be much larger than the threshold. On the other hand, in [7] , Yen et al. propose a simulation-based method to estimate the threshold, but the method may result in over-or under-approximations.. Recently, Mneimneh et al. [4] propose a SAT-based method to identify the sequential depth. The proposed algorithm iteratively uses a SAT-solver to search the largest path of all shortest paths starting from an initial state to any other reachable states. The sequential depth of a design is the length of the identified largest path and it is the exact threshold of the design. Additionally, Mneimneh et al. formulate a shortest path identification as a logical inference problem for Quantified Boolean Formulas (QBFs). They simplify the QBFs by applying simple transformations to the circuit netlist and use a SAT-solver to check their satisfiability. However, since the method exhaustively searches a path and then checks whether it is the shortest, the method tends to spend much CPU time while staying at the same iteration especially for large circuits having enormous search space.. To prevent the problem, Yen and Jou [8] present an algorithm to improve [4] by applying an effective branch-andbound strategy. The algorithm starts by performing an exhaustive search for a short period of time to calculate the initial solution. Then, based on the initial solution, it uses the branching method to divide the entire problem into many sub-problems, and the bounding method to avoid solving useless sub-problems. With this strategy, they may eliminate many unnecessary states and thus compute a more accurate sequential depth in large circuits.. To improve the exhaustive-search approach [4] , we propose a method to prune search space. We collect the learned states once finding a path, and consider them constraints to prune certain non-shortest paths for further path searching. Since having a smaller search space, we can more efficiently find the sequential depth. Additionally, we propose a heuris-tic to guide the SAT-solver to find a shortest path. The experimental results show that our method reports a more accurate sequential depth in most large circuits as compared to [4] and [8] within a run time limit of 3,600 seconds. The more accurate sequential depths we provide in the large circuits can be the valuable information for further research on sequential depth computation. This paper is organized as follows. Section 2 reviews some preliminaries. Section 3 briefly describes the previous method in [4] . Section 4 presents the proposed method of pruning search space. Section 5 introduces the proposed heuristic of guiding the SAT-solver. Finally, results and conclusion are presented. We propose an approach to speed up a SAT-based sequential depth computation algorithm [4] by pruning the search space. We collect the learned states, and then consider them constraints to prune certain non-shortest paths. Additionally, for large circuits having enormous search space, we also propose a heuristic to make the SAT-solver have a higher possibility to find a shortest path. The experimental results show that as compared with [4] and [8] , we report a more accurate sequential depth for most benchmarks within a certain time limit. The reported more accurate sequential depths in the large circuits can be the valuable information for further research on sequential depth computation. In [4] , Mneimneh et al. propose a SAT-based approach to sequential depth computation. Given an FSM M with an initial state s 0 . The approach starts from k = 0. Then it iteratively searches a shortest path of length k + 1 starting at s 0 and increments k. The approach stops when it cannot find any shortest path of length k + 1. Finally, the length of the longest of all the shortest paths is k, and k is the sequential depth of M .. The approach uses a two-stage algorithm to identify a shortest path of length k + 1. At the first stage, it tries to identify a path of length k + 1. It constructs a Conjunctive Normal Form (CNF) formula to present a path of length k + 1 starting at s 0 and uses a SAT-solver to find a satisfiable assignment. If the CNF formula is satisfiable, a path, P ath(k + 1, s 0 , s k+1 ), is found. Next, at the second stage, the approach checks whether the path is the shortest. It first modifies the given FSM M such that each state in M has a directed transition to s 0 . That is each vertex in STG(M ) has a directed edge to the vertex of s 0 . Then it constructs a CNF formula to present a walk, W alk(k, s 0 , s = s k+1 ), and uses the SAT-solver to solve it. If the CNF formula is unsatisfiable, the path is the shortest. Otherwise, the path is non-shortest.. The procedure is as follows. The algorithm starts by reading the sequential circuit and setting the variable k = 0. Consider the iteration k of the algorithm, the algorithm first searches a path which satisfies P ath(k + 1, s 0 , s). If no such path exists, the algorithm terminates and returns k as the sequential depth. If the path exists, the algorithm then checks if there exists a walk which satisfies W alk(k, s 0 , s). If no such walk exists, the algorithm has found a shortest path of length k + 1. Then it increments k and continues the next iteration. If a walk exists, the path is not shortest and the algorithm adds the learned clause to the path formula to force the SAT-solver to find another path having a different end-state.. The drawback of this algorithm is that it may spend much run time to search a large amount of paths while they are not the shortest. As a result, the program execution stays at the same iteration and the k value remains unchanged for a long time. To deal with this drawback, we present a search space reduction method described in the following section.

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


A probabilistic spectral framework for grouping and segmentation This paper presents an iterative spectral framework for pairwise clustering and perceptual grouping. Our model is expressed in terms of two sets of parameters. Firstly, there are cluster memberships which represent the a nity of objects to clusters. Secondly, there is a matrix of link weights for pairs of tokens. We adopt a model in which these two sets of variables are governed by a Bernoulli model. We show how the likelihood function resulting from this model may be maximised with respect to both the elements of link-weight matrix and the cluster membership variables. We establish the link between the maximisation of the log-likelihood function and the eigenvectors of the link-weight matrix. This leads us to an algorithm in which we iteratively update the link-weight matrix by repeatedly reÿning its modal structure. Each iteration of the algorithm is a three-step process. First, we compute a link-weight matrix for each cluster by taking the outer-product of the vectors of current cluster-membership indicators for that cluster. Second, we extract the leading eigenvector from each modal link-weight matrix. Third, we compute a revised link weight matrix by taking the sum of the outer products of the leading eigenvectors of the modal link-weight matrices. Many problems in computer vision can be posed as ones of pairwise clustering. That is to say they involve grouping objects together based on their mutual similarity rather than their closeness to a cluster prototype. Such problems naturally lend themselves to a graph-theoretic treatment in which the objects to be clustered are represented using a weighted graph. Here the nodes represent the objects to be clustered and the edge-weights represent the strength of pairwise similarity relations between objects. One of the most elegant solutions to the pairwise clustering problem comes from spectral graph theory, which is a ÿeld of mathematics which aims to characterise the structural properties of graphs using the eigenvalues and eigenvectors of the Laplacian matrix. The result that is key to the grouping problem is that the eigenvalue gap (i.e. the di erence between the ÿrst and second eigenvalues of the Laplacian matrix), is a measure of the degree of bijectivity of the graph (i.e. the extent to which its nodes form two distinct clusters which can be separated by a minimum cut). To exploit this property, graph spectral segmentation methods share the feature of commencing from an initial characterisation of the perceptual a nity of di erent image tokens in terms of a matrix of link-weights. Once this matrix is to hand then its eigenvalues and eigenvectors are located. The eigenmodes represent pairwise relational clusters which can be used to group the raw perceptual entities together. In this paper, we have developed a maximum likelihood framework for pairwise clustering. The method commences from a speciÿcation of the pairwise clustering problem in terms of a matrix of link-weights and a set of cluster membership indicators. The likelihood function underpinning our method is developed under the assumption that the cluster membership indicators are random variables which are generated by Bernoulli trials. The parameter of the Bernoulli trials are the link-weights. Based on this model, we develop an iterative process for updating the link-weights and the cluster membership indicators in interleaved steps, reminiscent of the EM algorithm. We show that the log-likelihood function is maximised by the leading eigenvector of the link-weight matrix. We apply the resulting pairwise clustering process to a number of image segmentation and grouping problems.. There are a number of ways in which the work presented in this paper can be extended and improved. First, we intend to investigate alternatives to the Bernoulli model of the clustering process. For instance, a di erent choice of distribution may provide us with a means of locating spanning trees or relational skeletons in the raw data. Second, our present method does not facilitate data-closeness between the ÿnal arrangement of clusters and the raw data. In fact it can be viewed as a type of relaxation process which applies contiguity constraints to the blacks of the link-weight matrix. Our future work will therefore focus on developing a clustering process which minimises the Kullback-Leibler divergence between the initial matrix of link-weights and the ÿnal arrangement of pairwise clusters. structure of surfaces. His research has found applications in areas such as database organisation, 3D surface recovery and re ectance model approximation.. About the Author-EDWIN HANCOCK studied physics as an undergraduate at the University of Durham and graduated with honours in 1977. He remained at Durham to complete a Ph.D. in the area of high energy physics in 1981. Following this he worked for ten years as a researcher in the ÿelds of high-energy nuclear physics and pattern recognition at the Rutherford-Appleton Laboratory (now the Central Research Laboratory of the Research Councils). During this period he also held adjunct teaching posts at the University of Surrey and the Open University. In 1991 he moved to the University of York as a lecturer in the Department of Computer Science. He was promoted to Senior Lecturer in 1997 and to Reader in 1998. In 1998 he was appointed to a Chair in Computer Vision. Professor Hancock now leads a group of some 15 faculty, research sta and Ph.D. students working in the areas of computer vision and pattern recognition. His main research interests are in the use of optimisation and probabilistic methods for high and intermediate level vision. He is also interested in the methodology of structural and statistical pattern recognition. He is currently working on graph-matching, shape-from-X, image databases and statistical learning theory. His work has found applications in areas such as radar terrain analysis, seismic section analysis, remote sensing and medical imaging. Professor Hancock has published some 80 journal papers and 300 refereed conference publications. He was awarded the Pattern Recognition Society medal in 1991 and an outstanding paper award in 1997 by the journal Pattern Recognition. In 1998 he became a fellow of the International Association for Pattern Recognition. Professor Hancock has been a member of the Editorial Boards of the journals IEEE Transactions on Pattern Analysis and Machine Intelligence, and, Pattern Recognition. He has also been a guest editor for special editions of the journals Image and Vision Computing and Pattern Recognition. He has been on the programme committees for numerous national and international meetings. In 1997 with Marcello Pelillo, he established a new series of international meetings on energy minimisation methods in computer vision and pattern recognition. In this section, we provide some experiments to illustrate the utility of our new perceptual grouping method when applied to line-linking. There are two aspects to this study. We commence by providing some examples for synthetic images. Here we investigate the sensitivity of the method to clutter and compare it with an eigendecomposition method. The second aspect of our study focuses on real world images with known ground-truth.. In our experiments, we provide comparison with three di erent algorithms. The ÿrst of these is the EM algorithm described in Ref. [24] , which uses a mixture of Bernoulli distributions. This algorithm does not however use modal decomposition of the link-weight matrix. The second method is that of Sarkar and Boyer [2] , which we have outlined brie y in Section 3. Thirdly, there is the normalised cut (recursive bisection) method of Shi and Malik [4] .

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


Stereovision depth analysis by two-dimensional motion charge memories Up to date several strategies of how to retrieve depth information from a sequence of images have been described. In this paper a method that turns around the symbiosis existing between stereovision and motion is introduced. The central idea behind our approach is to transpose the spatially-defined problem of disparity estimation into the spatial-temporal domain. Motion is analyzed in the original sequences by means of the so-called permanency effect and from the resulting two-dimensional motion charge maps the disparities are calculated. This is an important contribution to the traditional stereovision depth analysis, where disparity is gotten from the image luminescence. In our approach, disparity is studied from a motion-based persistency charge measure. In general there are several strategies of how to retrieve depth information from a sequence of images, like depth from motion, depth from shading and depth from stereovision. In this paper we introduce a new method to retrieve depth based on motion and stereovision. In a conventional stereoscopic approach, usually two cameras are mounted with a horizontal distance between them. As a consequence, objects displaced in depth from the fixation point are projected onto image regions which are shifted with respect to the image center. Due to the geometry of the optic system, it is sufficient to restrict disparity analysis to the projection of corresponding linear segments in the left and right camera. In some approaches, the disparity is computed by searching the maximum of the cross-correlation between image windows along the epipolar lines of the left and right image (Haralick & Shapiro, 1992) . This is called the epipolar constraint, which means that for any point in the left image, its matching point in the right image must lie on the corresponding epipolar line.. So far, many algorithms have been developed to analyze the depth in a scene. Brown et al. (2003) describe a good approximation to all of them in their survey article.. In many previous works, a series of restrictions are used to approach the correspondence problem. The most usual restriction is the disparity restriction, which considers that is not probable that there exist objects very close to the camera. The scene uses to be limited to a medium distance. This way, too high disparities are eliminated (Sumi et al., 2003) . Koenderink and van Doorn (1976) expressed the necessary theory in best initial works related to disparity restriction, and Wildes (1991) implemented some of the ideas of (Wilson & Knutsson, 1989) . More recently, disparity in stereoscopy continues showing its great interest (e.g., (Muhlmann et al., 2002; Gutiérrez & Marroquín, 2004) ).. According to the correspondence techniques used, we may classify methods into correlation-based, relaxation-based (Grimson, 1985) , gradient-based (Choi et al., 2003) , and feature-based (Venkateswar & Chellappa, 1995) . The main correlation-based technique is the area correlation technique (e.g., (Zabih & Woodfill, 1994) ). Area based approaches have the advantage of directly generating dense disparity maps. Matching elements for area-based methods are the individual pixels over which the matching cost is evaluated; pixel-to-pixel correspondence is evaluated on image intensity function and similarity statistics. For example, a work (Binaghi et al., 2004) investigates the potential of neural adaptive learning to solve the correspondence problem within a two-frame adaptive area matching approach. The method is based on the use of the zero mean normalized cross-correlation coefficient integrated within a neural network model which uses a least-mean-square delta rule for training. Another approach (Di Stefano et al., 2004) proposes an area-based stereo algorithm suitable to real time applications, where the core of the algorithm relies on the uniqueness constraint and on a matching process that rejects previous matches as soon as more reliable ones are found.. In this paper an area-correlation-based method that turns around the symbiosis existing between stereovision and motion is introduced; motion minimizes correspondence ambiguities, and stereovision enhances motion information. This symbiosis has been studied to get a major performance in our artificial threedimensional disparity depth analysis of moving non-rigid objects through stereovision.. Most methods have as a common denominator that they work with static images and not with motion information, although some approaches have been introduced so far (Ho & Pong, 1996; Liu & Skerjane, 1993; Xu, 1995) . More recently, in (Zhang et al., 2003 ) the traditional binocular stereo problem is extended into the spacetime domain, in which a pair of video streams is matched simultaneously instead of matching pairs of images frame by frame. By utilizing both spatial and temporal appearance variation, this modification reduces ambiguity and increases accuracy. Also recently, it has been shown that methods derived from the spacetime stereo framework can be used to recover depth in situations in which existing methods perform poorly (Davis et al., 2005) . Also, a separate edge-preserving regularization scheme to calculate disparity fields for a stereoscopic image pair and a joint disparity and motion estimation algorithm for stereoscopic video sequences has been presented (Yang et al., 2005) .. The motion analysis algorithm used in this work has already been tested in applications such as moving object shape recognition in noisy environments , moving objects classification by motion features such as velocity or acceleration , and in applications related to selective visual attention (Fernández-Caballero et al., 2004; López et al., 2006) . Our proposal is to analyze motion in the original sequences by means of the so-called permanency effect and from the resulting charge maps to analyze the disparities. As a novelty, in this paper motion analysis performs separately on both stereovision sequences. Thus, the central idea behind our approach is to transpose the spatially-defined problem of disparity estimation into the temporal domain and compute the disparity simultaneously with the incoming data. This is an important contribution to the traditional disparity analysis, where disparity is gotten from the image luminescence. In our approach, disparity is studied from a timely consistent persistency charge measure.. The rest of the paper is structured as follows. Our Stereovision Depth Analysis method is described in Section 2. In Section 3, experimental results on a real video sequence are described. Finally Conclusions are given in Section 4. According to the conclusions provided by (Gutiérrez & Marroquín, 2004) , the matching approach to solve the so called correspondence problem in stereovision has intrinsic limitations. Hence, the stereovision depth analysis problem is still a bug challenge in computer vision.. In this paper we have introduced a new method to retrieve disparity information based on motion and stereovision. A motion detection representation helps establishing further correspondences between different motion information. This representation bases in the permanency memories mechanism, where jumps of pixels between grey level bands are computed in a matrix of charge accumulators. Thus, for the purpose to analyze scene depth from stereo images, we have chosen the alternative not to use direct information from the image, but rather the one derived from motion analysis. This alternative provides an important advantage. Trough motion information stored in twodimensional motion charge maps it is easier to use correspondences than by grey level information of the frames. When observing motion features of a concrete object in both stereo sequences at the same time instant, we appreciate that these features are extremely similar. This is the reason why it is easy and robust to establish correspondences between the motion information of an object at the right image respect to the object at the left image. The number of ambiguity possibilities is lower, as we have filtered a lot of information by eliminating all static elements in the scene. By reducing the number of elements (what does not move, does not exist), the matching process is also easier. Moreover, information about motion is associated to the history of the last few frames in the scene, not only to the present scene. Thus, the matching process takes place based on more accurate information (two similar elements with different recent motion history generate different trails).. Charge memory displacement allows us to transform disparity into time, time into charge, and finally, charge into depth. The solution proposed involves a type of process which tries to take advantage of the use of high-order primitives and pixels only. On the one hand, the elements placed in correspondences are regions obtained from moving objects' motion trails by means of permanence memory interpretation. On the other hand, the fact that each pixel can decide, through a local analysis and based on motion trail overlapping, which disparity is more reliable, creates a dense disparity memory, which is considered a great advantage in pixel-based correspondence systems.

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


Pseudorandom Generators for Combinatorial Checkerboards We define a combinatorial checkerboard to be a function f : {1, . . . , m}. This is a variant of combinatorial rectangles, which can be defined in the same way but using {0, 1} instead of {1, −1}. We consider the problem of constructing explicit pseudorandom generators for combinatorial checkerboards. This is a generalization of small-bias generators, which correspond to the case m = 2.We construct a pseudorandom generator that ǫ-fools all combinatorial checkerboards with seed length O log m + log d · log log d + log A central question in the theory of computation is whether randomized algorithms are more powerful than deterministic algorithms. Some computational problems, such as testing whether a succinctly described polynomial is the zero polynomial, have efficient randomized algorithms but are not known to have efficient deterministic algorithms. On the other hand, a line of research in complexity theory [60, 11, 37, 71, 36, 69, 73] has shown that under widely believed conjectures (namely the existence of nonuniformly hard functions in certain uniform complexity classes), every polynomialtime randomized algorithm solving a decision problem can be derandomized to yield a polynomialtime deterministic algorithm solving the same decision problem. These proofs proceed by using the hypothesized hard function to construct an efficient pseudorandom generator, which is an algorithm that stretches a short truly random string (the seed) to a long "pseudorandom" string that is indistinguishable from a long truly random string by any efficient algorithm. Provided the seed is short enough, one can then cycle over all the seeds in polynomial time, running the randomized algorithm using the output of the pseudorandom generator for the randomness, to get a polynomialtime deterministic algorithm for the same decision problem.. Unfortunately, there are no known results that shed light on how to unconditionally construct pseudorandom generators that fool arbitrary polynomial-time randomized algorithms. Furthermore, there is formal evidence suggesting that unconditionally derandomizing arbitrary polynomialtime algorithms is far beyond the reach of current techniques, even if we do not insist on using a pseudorandom generator [34, 33, 1, 28] .. In light of these barriers, a natural goal is to unconditionally construct pseudorandom generators with good seed lengths for restricted classes of functions. One such class of functions is those computed by small-width read-once branching programs, which model space-bounded computations. The theory of pseudorandomness for space-bounded computations has a long and rich history [2, 12, 57, 56, 58, 59, 61, 35, 68, 10, 8, 62, 21, 64, 67, 26, 65, 50, 43, 16, 19, 20, 70, 39] , including very general results as well as improved results for special cases. One such special case is linear functions over Z 2 [54, 6, 53] . Pseudorandom generators for this class of functions are called smallbias generators. It is known how to construct small-bias generators whose seed lengths are optimal up to constant factors [54, 6] . Another special case that has been considered is combinatorial rectangles [25, 40, 9, 44] .. We consider the problem of constructing an explicit pseudorandom generator for a new class of functions, which we dub combinatorial checkerboards. These functions can be viewed as. • a special case of small-width read-once branching programs,. • a generalization of linear functions over Z 2 , and. • a variant of combinatorial rectangles.. Other classes of functions for which constructions of good pseudorandom generators are known include juntas [54, 6] , constant-depth circuits [3, 55, 47, 46, 72, 74, 13, 63, 18, 22, 42] , low-degree polynomials [47, 74, 15, 17, 41, 75] , and polynomial threshold functions [23, 51, 31, 32, 24 ].

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


Real-Coded Adaptive Range Genetic Algorithm Applied to Transonic Wing Optimization Abstract. Real-coded Adaptive Range Genetic Algorithms (ARGAs) have been applied to a practical three-dimensional shape optimization for aerodynamic design of an aircraft wing. The real-coded ARGAs possess both advantages of the binary-coded ARGAs and the floating-point representation to overcome the problems of having a large search space that requires continuous sampling. The results confirm that the real-coded ARGAs consistently find better solutions than the conventional real-coded Genetic Algorithms do. Most of commercial aircrafts today, such as B747, B777, and A340 cruise at transonic speeds, that is, just below the speed of sound. During the long duration of cruise, engine thrust is applied to maintain aircraft speed against aerodynamic drag. Since a large part of their maximum takeoff weights is occupied by the fuel weight, the objective of an aerodynamic design optimization of a transonic wing is, in principle, minimization of drag.. Unfortunately, drag minimization has many tradeoffs. There is a tradeoff between drag and lift because one of the drag component called induced drag increases in proportion to the square of the lift. A wing that achieves no induced drag would have no lift. Another tradeoff lies between aerodynamic drag and wing structure weight. An increase in the wing thickness allows the same bending moment to be carried with reduced skin thickness with an accompanying reduction in weight. On the other hand, it will lead to an increase in another component of the drag called wave drag. Therefore, the aerodynamic design of a transonic wing is a challenging problem.. Furthermore, optimization of a transonic wing design is difficult due to the followings. First, aerodynamic performance of a wing is very sensitive to its shape. Very precise definition of the shape is needed and thus its definition usually requires more than 100 design variables. Second, function evaluations are very expensive. An aerodynamic evaluation using a high fidelity model such as the Navier-Stokes equations usually requires 60-90 minutes of CPU time on a vector computer.. Among optimization algorithms, Gradient-based Methods (GMs) are well -known algorithms, which probe the optimum by calculating local gradient information. Although GMs are generally superior to other optimization algorithms in efficiency, the optimum obtained from these methods may not be a global one, especially in the aerodynamic optimization problem.. On the other hand, Genetic Algorithms (GAs) are known to be robust methods modeled on the mechanism of the natural evolution. GAs have capability of finding a global optimum because they don't use any derivative information and they search from multiple design points. Therefore, GAs are a promising approach to aerodynamic optimizations.. Finding a global optimum in the continuous domain for the aerodynamic design is challenging even for GAs. In traditional GAs, binary representation has been used for chromosomes, which evenly discretizes a real design space. Since binary substrings representing each parameter with a desired precision are concatenated to form a chromosome for GAs, the resulting chromosome encoding a large number of design variables for real-world problems would result in a string length too long. In addition, there is discrepancy between the binary representation space and the actual problem space. For example, two points close to each other in the real space might be far away in the binary-represented space. It is still an open question to construct an efficient crossover operator that suits to such a modified problem space.. A simple solution to these problems is the use of floating-point representation of parameters as a chromosome [1] . In these real-coded GAs, a chromosome is coded as a finite-length string of the real numbers corresponding to the design variables. The floating-point representation is robust, accurate, and efficient because it is conceptually closest to the real design space, and moreover, the string length reduces to the number of design variables. It has been reported that the real-coded GAs outperformed binary -coded GAs in many design problems [2] . However, even the real-coded GAs would lead to premature convergence when applied to aerodynamic shape designs with a large number of design variables.. The objective of the present work is to develop robust and efficient GAs applicable to aerodynamic shape designs. To achieve this goal, the idea of dynamic coding, in particular Adaptive Range GAs [3, 4] , is incorporated with the used of the floating-point representation. The resulting approach is then applied to a practical wing design problem as well as a simple test case to examine its performance.. To perform the practical wing design, the computation was processed in parallel using Numerical Wind Tunnel (NWT) at National Aerospace Laboratory, Japan. NWT has 166 vector processing elements at peak performance of 280 GFLOPS. The actual computation took 108 hours with 64 PE's. To develop GAs applicable to practical aer odynamic shape designs, the real-coded ARGAs have been developed by incorporating the idea of the binary-coded ARGAs with the use of the floating-point representation. The real-coded ARGA has been applied to a practical aerodynamic design optimization of a transonic wing shape for generic transport as well as a simple test case. The test case result confirms the Aerodynamic optimization was performed with 87 real-number design variables by using the Navier-Stokes code. The realistic structural constraint was imposed. The resulting wing appears very similar to advanced wing designs based on supercritical airfoils. The straight span load distribution of the resulting design represents a compromise between minimizations of induced drag and wave drag. The designed wing also has a fully attached flow and the allowable minimum thickness so that pressure drag and wave drag are minimized under the present structural constraint. These results confirm the feasibility of the present approach for future applications. The optimization history is shown in Fig. 7 in terms of L/D. During the initial phase of the optimization, some members had a strong shock wave or failed to satisfy the structural constraint. However, they were weeded out from the population because of the resultant penalties to the fitness. The final design has L/D of 18.91 ( C L = 0.26213 and C D = 0.01386) satisfying the given structural constraint. Turnaround time of this optimization was about 108 h on NWT.. To examine whether the present optimal design is close to a global optimum, we have checked it against analytically and empirically established design guidelines. In aerodynamics, spanwise lift distribution should be elliptic to minimize the induced drag. However, the structural constraint leads to a tradeoff between induced drag and wave drag. This enforces the spanwise lift distribution to be linear rather than elliptic. The present solution has a linear distribution. To produce this distribution, a wing is usually twisted in about five degrees. The present wing is twisted in six degrees. Figure 8 shows t he designed airfoil sections and the corresponding pressure distributions at the 0, 33, and 66% spanwise locations. In the pressure distributions, neither any strong shock wave nor any flow separation is found. This ensures that the present wing has very little wave drag and pressure drag. At 33 and 66% spanwise locations, the rooftop, front-loading and rear loading patterns are observed, which are typical for the supercritical airfoils [15] used for advanced transport today. The corresponding airfoil shapes are indeed similar to supercritical airfoils. Overall, these detailed observations of the design confirm that the present design is very close to a global optimum expected by the present knowledge in aerodynamics.

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


ROC curves in cost space Abstract ROC curves and cost curves are two popular ways of visualising classifier performance, finding appropriate thresholds according to the operating condition, and deriving useful aggregated measures such as the area under the ROC curve (AUC) or the area under the optimal cost curve. In this paper we present new findings and connections between ROC space and cost space. In particular, we show that ROC curves can be transferred to cost space by means of a very natural threshold choice method, which sets the decision threshold such that the proportion of positive predictions equals the operating condition. We call these new curves rate-driven curves, and we demonstrate that the expected loss as measured by the area under these curves is linearly related to AUC. We show that the rate-driven curves are the genuine equivalent of ROC curves in cost space, establishing a point-point rather than a point-line correspondence. Furthermore, a decomposition of the rate-driven curves is introduced which separates the loss due to the threshold choice method from the ranking loss (Kendall τ distance). We also derive the corresponding curve to the ROC convex hull in cost space; this curve is different from the lower envelope of the cost lines, as the latter assumes only optimal thresholds are chosen. The definition of cost curve in the literature has been partially elusive. While it is clear what cost lines are, it was not clear what the options are for drawing different curves in cost space, which of them were valid and, more importantly, whether they correspond to curves or representations in ROC space. In this paper we have clarified the relation between both spaces, by defining the rate-driven cost curve as the true companion of ROC curves in cost space. We have furthermore demonstrated that it is possible to visualise classification performance and ranking performance in the same plot by means of the Kendall curve.. Our main instrument was the rate-driven threshold choice method, which leads to a pointpoint correspondence between the ROC curve and the rate-driven curve, and also between the ROC convex hull and the convex skull. This provides a richer view of cost space, since different cost curves arising from different threshold choice methods can be contrasted and compared.. While cost curves were initially introduced for skews, we have worked with cost proportions in this paper, but a generalisation to skews should be straightforward. We plan to work on the use of rate-driven curves to choose among models and construct hybrid classifiers.. Another interesting avenue for further work is a comparison with the recently proposed Brier curves , especially because it has been shown in Hernández-Orallo et al. (2012) that the rate-driven threshold choice method is equal to the score-driven threshold choice method when scores are evenly spaced (however, Brier curves do not interpolate and their exact equivalence in this particular score disposition would only be asymptotical). By comparing different curves in the same space we should be able to decide which threshold choice method is best for a particular operating condition, leading to a new dimension of dominance. This comparison of several curves (using different threshold choice methods) would usually be carried out for different data sets. For instance, we could plot the curves using a labelled training data set, from which the threshold choices could be derived for each operating condition, and then these choices could be used to represent curves on a different labelled validation data set. This would show that some curves may be too optimistic on the training data set and may lead to worse choices on the validation data set.. The source code in R for plotting rate-driven curve sand Kendall curves can be found at http://users.dsic.upv.es/~flip/RDC/.

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


Unbalanced digit sets and the closest choice strategy for minimal weight integer representations An online algorithm is presented that produces an optimal radix-2 representation of an input integer n using digits from the set D ,u = {a ∈ Z : ≤ a ≤ u}, where ≤ 0 and u ≥ 1. The algorithm works by scanning the digits of the binary representation of n from leftto-right (i.e., from most-significant to least-significant). The output representation is optimal in the sense that, of all radix-2 representations of n with digits from D ,u , it has as few nonzero digits as possible (i.e., it has minimal weight). Such representations are useful in the efficient implementation of elliptic curve cryptography. The strategy the algorithm utilizes is to choose an integer of the form d2 i , where d ∈ D ,u , that is closest to n with respect to a particular distance function. It is possible to choose values of and u so that the set D ,u is unbalanced in the sense that it contains more negative digits than positive digits, or more positive digits than negative digits. Our distance function takes the possible unbalanced nature of D ,u into account. In grade school, students are taught a radix -10 (or base-10) number system wherein positive integers are represented using strings of digits from the set D = {0, 1, 2, . . . , 9}. For example, the integer thirty-one thousand four hundred fifteen is represented as "31415". This manner of representing numbers can be generalized, as in the following definition. Note that, for typographic reasons, we denote the digits −1, −2, −3 by 1, 2, 3. Each string is a radix-2 representation of 31415. ♦ Our interest is mainly in radix-2 representations which use a digit set D containing 0, 1 and other integers. To convert a radix-2 representation a s−1 . . . a 1 a 0 into a number, we simply need to evaluate the sum (a s−1 . . . a 1 a 0 ) 2 . One way to do this is based on Horner's rule for evaluating polynomials, as in Algorithm 1. Notice there that the number of times the addition operation on line 5 is carried out is equal to one less than the number of nonzero digits in a s−1 . . . a 1 a 0 , assuming that a s−1 = 0.

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


Weakly quasi-Hamiltonian-set-connected multipartite tournaments A multipartite or c-partite tournament is an orientation of a complete c-partite graph. Lu and Guo (submitted for publication) [3] recently introduced strong quasi-Hamiltonianconnectivity of a multipartite tournament D as follows: For any two distinct vertices x and y of D, there is a path with at least one vertex from each partite set of D from x to y and from y to x. We obtain the definition for weak quasi-Hamiltonian-connectivity, where only one of those paths, and weak quasi-Hamiltonian-set-connectivity, where only one such path between every two distinct partite sets has to exist, in a natural way.In this paper, we characterize weakly quasi-Hamiltonian-set-connected multipartite tournaments which extends a result of Thomassen (1980) [6] .

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


Parameterised Boolean Equation Systems Boolean equation system are a useful tool for verifying formulas from modal mu-calculus on transition systems (see [18] for an excellent treatment). We are interested in an extension of boolean equation systems with data. This allows to formulate and prove a substantially wider range of properties on much larger and even infinite state systems. In previous works [11, 15] it has been outlined how to transform a modal formula and a process, both containing data, to a so-called parameterised boolean equation system, or equation system for short. In this article we focus on techniques to solve such equation systems.We introduce a new equivalence between equation systems, because existing equivalences are not compositional. We present techniques similar to Gauß elimination as outlined in [18] that allow to solve each equation system provided a single equation can be solved. We give several techniques for solving single equations, such as approximation (known), patterns (new) and invariants (new). Finally, we provide several small but illustrative examples of verifications of modal mu-calculus formulas on concrete processes to show the use of the techniques. Boolean Equation Systems (BESs) [18, 19, 23] are systems of the form (σ 1 X 1 = f 1 ) . . . (σ N X N = f N ), where σ i is either a least fixpoint symbol µ or a greatest fixpoint symbol ν and f i is a propositional formula. These systems can be seen as generalisations of nested and alternating fixpoint expressions, interpreted over a Boolean lattice.. BESs have been studied in detail by Vergauwen and Lewi [23] , and Mader [18, 19] in the context of model checking modal µ-calculus formulae. In [19] , Mader shows that the model checking problem can be solved by solving BESs. Furthermore, she provides a complete proof system for solving BESs by means of algebraic manipulations.. Parameterised Boolean Equation Systems (PBESs) (also known as First-Order Boolean Equation Systems) [11, 15, 24] are sequences of equations of the form σX(d 1 :D 1 , . . . , d n :D n ) = ϕ, where σ is either a least or a greatest fixpoint symbol, d i is a data variable of sort D i and ϕ is a predicate formula. The sort D 1 × . . . × D n is referred to as the parameter-space of a parameterised boolean equation.. PBESs form an extension of plain BESs. Groote and Mateescu [11] introduced these PBESs as an intermediate formalism for model checking processes with (arbitrary) data. Extending on the results of Mader [18, 19] , they showed that their model checking problem could be translated to the problem of solving PBESs. In [11] , they provided four proof rules for approximating the solution of single parameterised equations: two for the least fixpoint and two for the greatest fixpoint. Furthermore, as a proof of concept, we showed in [15, 24] that PBESs can be solved automatically by means of a technique that combines the essentials of Gauß-elimination [18, 19] , and approximation (see e.g. [10] ).. While the automated approach has proved successful for several practical applications, it also illustrates the undecidability of model checking when no restrictions on the involved data-types are made, by occasionally requiring transfinite approximations of fixpoint expressions (i.e., in such cases, approximation procedures do not terminate). The emphasis on automation set a scene where possible remedies for such situations where hard to find.. Inspired by this latter observation, we take a different approach altogether in this paper, and focus on algebraic techniques that help in solving PBESs by hand. While this may seem a step back to some, being able to solve PBESs by hand provides a better understanding of the techniques that are involved. We intentionally proved many properties about systems by hand, some of which can be found in the second part of this paper, with as primary goal to build up experience and skill. As expected this led to effective techniques to manually solve parameterised boolean equation systems which are reported in the first part of this paper. Although it is not the focus of this paper, we expect that these techniques will also have a positive impact on the mechanised and automatic verification of modal formulas on processes in a setting with data.. The approach we describe in this paper is similar in spirit to the algebraic approach for solving BESs, taken by Mader [19] . We separate the problems of solving PBESs as a whole, and parameterised boolean equations in isolation. Central to our approach is the notion of a system equivalence that allows us to reason compositionally about PBESs. While in [19] , also a system equivalence is introduced for BESs, it turns out that this equivalence is not compositional. We illustrate this fact by a simple example in section 3. Together with system equivalence we introduce system ordering which on several occasions turns out to be an indispensable tool.. Based on our new notion of system equivalence, we present an overall and complete technique, allowing to solve all PBESs using syntactic manipulations only, provided the means to solve a single parameterised boolean equation in isolation are available (section 4.1).. In section 4.2 we investigate various techniques for solving a single parameterised boolean equation. These include a theorem allowing logical reasoning using predicate calculus and a result allowing to transfer results obtained using parameterised boolean equations to predicate logic. We proceed by restating results on approximation from [11] in terms of the new system equivalence.. Some of the parameterised boolean equation systems that we encountered were not easily solved using for instance approximation. But we noticed that many of these had a very similar pattern. For some of the most general patterns we could give a standard solution. We present this result in section 4.2.3. We, however, believe that we have only scratched this topic on the surface. We expect a situation comparable to solving differential equations, where identifying and solving differential equations of a particular form has become a field of its own. There have been a number of typical parameterised boolean equations that we have not been able to solve and that deserve a separate investigation.. While invariants are an effective tool in diverse areas, such as process algebras [3] and program analysis [9] , they have not yet been connected to BESs and PBESs. So, we set out to find their counterpart in parameterised boolean equations. We provide a definition and two theorems to ease their use in concrete situations. Our notion of an invariant in equation systems plays a very helpful role in many of the examples in section 5 and so we believe that it will become a similarly effective tool as invariants are elsewhere.. The structure of this paper is as follows. Section 2 introduces the terminology used throughout this paper, together with a short overview of PBESs, their semantics and several smaller results. In section 3 an equivalence for PBESs is introduced and compared against the equivalence for BESs that can be found in the literature. Section 4 then focuses on solving PBESs globally and parameterised boolean equations in isolation. As an illustration of these techniques, we apply these to several smaller examples in section 5. Concluding remarks are presented in section 6. Each equation has a predicate variable X (from a set X of variables) at its left hand side that depends on zero or more data variables d 1 , . . . , d n of sorts D 1 , . . . , D n . For simplicity and without loss of generality, we restrict ourselves to a single variable at the left hand side in all our theoretical considerations. We treat data in an abstract way. So, we assume that there are non empty data sorts, generally written using letters D, E, F , that include the sort B of booleans containing ⊥ and , representing false and true, respectively. We have a set D of data variables, with typical elements d, d 1 , . . ., and we assume that there is some data language that is sufficiently rich to denote all relevant data terms, such as for instance The right hand side of each equation is a predicate formula containing data terms, boolean connectives, quantifiers over (possibly infinite) data domains and data and predicate variables. Predicate formulae ϕ are defined by the following grammar:. where b is a data term of sort B, X is a predicate variable, d is a data variable of sort D and e is a data term. Note that negation does not occur in predicate formulae, except as an operator in data terms.. In the sequel it turns out to be necessary to lift predicate formulas to functions from data to formulas. We use conventional typed lambda calculus to denote such functions. E.g. λd:D.ϕ denotes a function from elements from data sort D to predicates. Sometimes, the lambda is omitted if that leads to a more compact notation. For instance λd:D.X(d) is generally simply written as X.. Predicate formulae are interpreted in a context of a data environment ε and a predicate environment η:X →(D→B). The semantics of predicate formulae is defined below. For an arbitrary environment θ (be it a data environment or predicate environment), we write θ[v/d] for the environment θ in which the variable d has been assigned the value v. For a predicate formula ϕ, a predicate environment η and a data environment ε, we write ϕ(ηε), denoting the formula ϕ in which all free predicate variables X have received the value η(X) and all free data variables d have received the value ε(d). Environments are applied to functions, where bound variables are respected. We set out to develop a theory that allows to manually solve parameterised boolean equation systems. Our main motivation came from work reported in [15] where a symbolic model checker is described that works by fixpoint approximation and automated reasoning (actually an equality BDD package that also allows rewriting [12] ). This was successful in the sense that automatically properties of large and infinite state systems could be proven. But we found that automated reasoning and finite approximations were often insufficient. We believe that ultimately an interplay between manual and automated techniques will turn out to be most effective, and therefore started this investigation.. Regarding the general theory in this paper we have some mixed feelings. Most theorems and corollaries have a nice and usable shape and these work very smoothly in the applications. But most proofs had to be given using definition 2.3 which is very hard to comprehend. We would appreciate a much more insightful basic theory but do not know how to provide it. Such a theory could also help us to avoid the pitfalls of fixpoint equations. More than once we went awry formulating and believing conjectures that turned out to be utterly untrue.. Regarding the use of the theory the patterns, approximations and invariants are real marbles. It remains to be seen how the theory evolves under the strain of more involved verifications and most likely requires adaptation and strengthening. One of the most eye-catching questions is whether the patterns in section 4.2.3 can be generalised to arbitrary right hand sides, providing a universal way of solving parameterised equation systems or whether a whole plethora of techniques for many different forms will be developed.. Related work. The first accounts of using fixpoints for reasoning about programs date back to 1969, when Scott and de Bakker [21] defined the µ-calculus. The µ-calculus has a µ-operator that acts as a binder for relation variables, and is used to express recursion and iteration. Like parameterised boolean equation systems, the µ-calculus is a first-order formalism. Several theoretical results have been obtained for the µ-calculus (see e.g. [17] ), but gradually, the propositional version became more popular.. With respect to the model checking problem for processes with data, several other approaches are noteworthy. Bradfield and Stirling [5, 6, 22] lay the foundations for finite and infinite state model checking based on the modal µ-calculus using tableau systems. Furthermore, the ideas of using Petri nets in combination with model checking are described. As explained in [19] , the techniques using tableaus and boolean equation systems are closely related, but boolean equation systems require less overhead.. In a similar vein, Gurov et al. [16] , and Rathke and Hennessy [20] define (independently from each other) first-order extensions of the modal µ-calculus and use symbolic transition systems as the underlying models. Both Gurov et al. [16] and Rathke and Hennessy [20] , provide tableau systems and proof systems, and in [20] completeness and soundness is shown. The main concern in [16] is that of compositionality. To the best of our knowledge, neither techniques have led to the development of tool support. From a theoretical point of view, it would be interesting to compare the expressive power of the logics of [16, 20, 11] , as there appear to be some differences. For instance, the grammar in [20] prohibits the use of a diamond modality in combination of a fixpoint operator. Thus, the expression µX.. X (where is the set of all possible actions) appears to be excluded by the grammar of the logic, whereas it is a valid expression in the logic of [11] .. In contrast to these general approaches there is work that considers subclasses of systems or logical properties. The main focus in these approaches is mainly on decidability. Noteworthy approaches are CLU by Bryant et al. [7] , the use of regular expression [1] and queue representations [4] for communication protocols and Pressburger arithmetic [8] for process networks.

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