Monochromatic Clique Decompositions of Graphs Let G be a graph whose edges are colored with k colors, and H = (H 1 , . . . , H k ) be a k-tuple of graphs. A monochromatic Hdecomposition of G is a partition of the edge set of G such that each part is either a single edge or forms a monochromatic copy of H i in color i, for some 1 ≤ i ≤ k. Let φ k (n, H) be the smallest number φ, such that, for every order-n graph and every k-edge-coloring, there is a monochromatic H-decomposition with at most φ elements. Extending the previous results of Liu and Sousa [Monochromatic K r -decompositions of graphs, J Graph Theory 76 (2014), 89-100], we solve this problem when each graph in H is a clique and n ≥ n 0 (H) is sufficiently large. All graphs in this article are finite, undirected, and simple. For standard graph-theoretic terminology the reader is referred to [3] .. Given two graphs G and H, an H-decomposition of G is a partition of the edge set of G such that each part is either a single edge or forms a subgraph isomorphic to H. Let φ(G, H ) be the smallest possible number of parts in an H-decomposition of G. It is easy to see that, if H is nonempty, we have φ(G, H ) = e(G) − ν H (G)(e(H ) − 1), where ν H (G) is the maximum number of pairwise edge-disjoint copies of H that can be packed into G. Dor and Tarsi [4] showed that if H has a component with at least three edges then it is NP-complete to determine if a graph G admits a partition into copies of H. Thus, it is NP-hard to compute the function φ(G, H ) for such H. Nonetheless, many exact results were proved about the extremal function. which is the smallest number such that any graph G of order n admits an H-decomposition with at most φ(n, H ) elements.. This function was first studied, in 1966, by Erdős et al. [6] , who proved that φ(n, K 3 ) = t 2 (n), where K s denotes the complete graph (clique) of order s, and t r−1 (n) denotes the number of edges in the Turán graph T r−1 (n), which is the unique (r − 1)-partite graph on n vertices that has the maximum number of edges. A decade later, Bollobás [2] proved that φ(n, K r ) = t r−1 (n), for all n ≥ r ≥ 3.. Recently, Pikhurko and Sousa [13] studied φ(n, H ) for arbitrary graphs H. Their result is the following. Theorem 1.1 [13] . Let H be any fixed graph of chromatic number r ≥ 3. Then, φ(n, H ) = t r−1 (n) + o(n 2 ).. Let ex(n, H ) denote the maximum number of edges in a graph on n vertices not containing H as a subgraph. The result of Turán [20] states that T r−1 (n) is the unique extremal graph for ex(n, K r ). The function ex(n, H ) is usually called the Turán function for H. Pikhurko and Sousa [13] also made the following conjecture. Conjecture 1.2 [13] . For any graph H of chromatic number r ≥ 3, there exists n 0 = n 0 (H ) such that φ(n, H ) = ex(n, H ) for all n ≥ n 0 .. A graph H is edge-critical if there exists an edge e ∈ E(H ) such that χ (H ) > χ(H − e), where χ (H ) denotes the chromatic number of H. For r ≥ 4, a clique-extension of order r is a connected graph that consists of a K r−1 plus another vertex, say v, adjacent to at most r − 2 vertices of K r−1 . Conjecture 1.2 has been verified by Sousa for some edge-critical graphs, namely, clique-extensions of order r ≥ 4 (n ≥ r) [18] and the cycles of length 5 (n ≥ 6) and 7 (n ≥ 10) [17, 19] . Later,Özkahya and Person [12] verified the conjecture for all edge-critical graphs with chromatic number r ≥ 3. Their result is the following. and Sousa in Theorem 1.1. In fact, they proved that the error term o(n 2 ) can be replaced by O(n 2−α ) for some α > 0. Furthermore, they also showed that this error term has the correct order of magnitude. Their result is indeed an extension of Theorem 1.3 since the error term O(n 2−α ) that they obtained vanishes for every edge-critical graph H.. Motivated by the recent work about H-decompositions of graphs, a natural problem to consider is the Ramsey (or colored) version of this problem. More precisely, let G be a graph on n vertices whose edges are colored with k colors, for some k ≥ 2 and let H = (H 1 , . . . , H k ) be a k-tuple of fixed graphs, where repetition is allowed. A monochromatic H-decomposition of G is a partition of its edge set such that each part is either a single edge, or forms a monochromatic copy of H i in color i, for some 1 ≤ i ≤ k. Let φ k (G, H) be the smallest number, such that, for any k-edge-coloring of G, there exists a monochromatic H-decomposition of G with at most φ k (G, H) elements. Our goal is to study the function. which is the smallest number φ such that, any k-edge-colored graph of order n admits a monochromatic H-decomposition with at most φ elements. In the case when. The function φ k (n, K r ), for k ≥ 2 and r ≥ 3, has been studied by Liu and Sousa [11] , who obtained results involving the Ramsey numbers and the Turán numbers. Recall that for k ≥ 2 and integers r 1 , . . . , r k ≥ 3, the Ramsey number for K r 1 , . . . , K r k , denoted by R(r 1 , . . . , r k ), is the smallest value of s, such that, for every k-edge-coloring of K s , there exists a monochromatic K r i in color i, for some 1 ≤ i ≤ k. For the case when r 1 = · · · = r k = r, for some r ≥ 3, we simply write R k (r) = R(r 1 , . . . , r k ). Since R(r 1 , . . . , r k ) does not change under any permutation of r 1 , . . . , r k , without loss of generality, we assume throughout that 3 ≤ r 1 ≤ · · · ≤ r k . The Ramsey numbers are notoriously difficult to calculate, even though, it is known that their values are finite [15] . To this date, the values of R(3, r 2 ) have been determined exactly only for 3 ≤ r 2 ≤ 9, and these are shown in the following table [14] . The remaining Ramsey numbers that are known exactly are R(4, 4) = 18, R(4, 5) = 25, and R(3, 3, 3) = 17. The gap between the lower bound and the upper bound for other Ramsey numbers is generally quite large.. For the case R(3, 3) = 6, it is easy to see that the only 2-edge-coloring of K 5 not containing a monochromatic K 3 is the one where each color induces a cycle of length 5. From this 2-edge-coloring, observe that we may take a "blow-up" to obtain a 2edge-coloring of the Turán graph T 5 (n), and easily deduce that φ 2 (n, K 3 ) ≥ t 5 (n). See Figure 1 .. This example was the motivation for Liu and Sousa [11] to study K r -monochromatic decompositions of graphs, for r ≥ 3 and k ≥ 2. They have recently proved the following result. [11] .

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


Fitting polynomial surfaces to triangular meshes with Voronoi squared distance minimization Abstract This paper introduces Voronoi squared distance minimization (VSDM), an algorithm that fits a surface to an input mesh. VSDM minimizes an objective function that corresponds to a Voronoi-based approximation of the overall squared distance function between the surface and the input mesh (SDM). This objective function is a generalization of the one minimized by centroidal Voronoi tessellation, and can be minimized by a quasi-Newton solver. VSDM naturally adapts the orientation of the mesh elements to best approximate the input, without estimating any differential quantities. Therefore, it can be applied to triangle soups or surfaces with degenerate triangles, topological noise and sharp features. Applications of fitting quad meshes and polynomial surfaces to input triangular meshes are demonstrated. In this paper, our goal is to transform an input mesh T into an alternative representation S (see Fig. 1 ). In our setting, the result S may be a mesh made of quadrangular elements or a subdivision surface. We suppose that an initial position of S is given (referred to as a template). The template may be initialized from the bounding box of the input mesh T , as in Fig. 1 , but more complicated input geometries may require more general templates, as shown further. The problem reduces then to deforming the template S to fit the input mesh T , by finding a new position for the vertices of S (or for its control points in the case of a subdivision surface).. As in several approaches, we formalize the fitting problem as minimizing an objective function that measures the distance between the two surfaces S and T . Our contribution is a new approximation of the overall squared distance between surfaces, based on the concept of centroidal Voronoi tessellations (CVT), as well as a solution mechanism to minimize it.. In contrast to previous approaches, our approximation offers theoretical guarantees on the error it introduces with respect to the exact squared distance function. Minimizing our objective function results in a good approximation of the input in terms of Hausdorff distance. Our method does not need to estimate any differential quantity such as curvatures on T . This makes our method well suited when the target surface T is ill formed, with degenerate triangles and wrong or absent connectivity, as in range scan data.. We neither address here the problem of automatically generating the initial template mesh S, nor dynamically modifying it to adapt to the target mesh T . Although our method will not fail even in case of topology mismatch and can often be initialized with the bounding box of T , a bad template may result in pinchouts and overlaps when T contains large protrusions. Another limitation of our approach is that we do not prove the C 2 continuity of our objective function. Yet our minimization procedure empirically behaves well when using a quasi-Newton solver. We shall now show some results obtained with VSDM. In the results herein, the regularization term is set to. , the normal anisotropy is set to s = 50 and subdivision surfaces are approximated by subdividing the control mesh twice. Figures 8, 9 , and 10 show the results obtained with an initial toroidal grid. Note on Fig. 12 how the spacing of the iso-parameter line adapts to the features. Scanned meshes from AimAtShape can also be efficiently processed (see Fig. 13 ). The method is independent on the connectivity of the data, and can process input meshes with many connected components, degenerate triangles and overlaps, such as registered raw meshes directly obtained from a 3D scanner (Figs. 14, 15 ).. For each model, the result was obtained in less than 3 min on a 2-GHz machine, except for Figs. 14 and 15 for which the timings were, respectively, 7 and 15 min. To compute the 3D Delaunay triangulation, we used CGAL [1]. For the restricted Voronoi Diagram computation (Sect. 3.4) and the normal anisotropy (previous subsection), we used the implementation provided with [14] . The numerical solver uses the L-BFGS implementation from [18] .

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


Program transformation for numerical precision This article introduces a new program transformation in order to enhance the numerical accuracy of floating-point computations. We consider that a program would return an exact result if the computations were carried out using real numbers. In practice, roundoff errors due to the finite representation of values arise during the execution. These errors are closely related to the way formulas are evaluated. Indeed, mathematically equivalent formulas, obtained using laws like associativity, distributivity, etc., may lead to very different numerical results in the computer arithmetic. We propose a semantics-based transformation in order to optimize the numerical accuracy of programs. This transformation is expressed in the abstract interpretation framework and it aims at rewriting pieces of numerical codes in order to obtain results closer to what the computer would output if it used the exact arithmetic. This article introduces a new program transformation to enhance the numerical accuracy of floating-point computations which comply to the IEEE754 Standard [1] . We consider that a program would return an exact result if the computations were carried out using real numbers. Indeed, many programmers and compiler designers use floating-point arithmetic as if it were real arithmetic. However, in practice, round-off errors arise at run-time [8, 20] . This is because floating-point arithmetic differs strongly from real number arithmetic: the values have a finite number of digits and algebraic laws like associativity, distributivity, commutativity do not hold.. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. The round-off errors are closely related to the way the formulas are written. For example, the evaluation by a computer of mathematically equivalent expressions (e.g. x × (1 + x) and x + x 2 ) possibly leads to very different results. Our program transformation aims at manipulating the mathematical expressions in order to produce new expressions which are more accurate and mathematically equivalent to the original ones.. Understanding the reasons why the implementation of a formula is numerically bad and how to improve it is usually difficult because computer arithmetics are particularly not intuitive. So, it is necessary to provide tools to the programmers, in order to help them to increase the numerical quality of their codes. During the last few years, static analyses by abstract interpretation [5] of the numerical accuracy of floating-point computations have been introduced [9, 15, 17] and implemented in the Fluctuat tool [10, 11] which is used in many industrial contexts. A main advantage of this method is that it enables one to bound safely all the errors arising during a computation, for large ranges of inputs. It also provides hints on the sources of errors, that is on the operations which introduce the most important precision loss. This latter information is of great interest to improve the accuracy of the implementation. More generally, program transformations to detect numerical errors are runtime are discussed in [3] and other methods, not based on static analysis, are compared in [16] . Concerning the transformation of programs in order to enhance their numerical accuracy, there only exists non-automatic methods dedicated to specific classes of formulas, for example to improve the evaluation of polynomial expressions [4, 13] .. Semantics-based program transformation [6, 12] for floatingpoint arithmetic expressions has been introduced [18] . This method enables one to automatically rewrite a general formula into another mathematically equivalent and more precise formula. In [19] , it has been shown that the transformation could also be applied to the case of fixed-point computations [21, 22] .. In this article, we extend the transformation for numerical accuracy to the case of entire programs. While previous work [18, 19] has only focused on how to rewrite arithmetic expressions, we consider a simple imperative language with variables, conditionals and loops. It is then possible to transform computations carried out among many lines of code, to modify the expressions assigned to intermediary variables and to use standard compile-time techniques like loop unrolling to improve the numerical accuracy inside the body of loops. Intuitively, the main originality of the program transformation is to allow, in the non-standard and abstract semantics, to evaluate either eagerly or lazily the arithmetic expressions assigned to variables. Then, when a variable is read, the expression may be either evaluated or inserted into the larger expression which uses the variable. This mechanism permits to recombine the operations among many assignments. We use P. Cousot and R. Cousot's framework for semantics-based program transformation [6] by abstract interpretation [5] and we propose an offline transformation. The methodology of [6] enables us to define a semantics transformation that would be far more difficult to obtain at the syntactic level, since there is no strong syntactic relation between the source and transformed expressions.. This article is organized as follows. Section 2 informally presents the program transformation. Section 3 introduces the numerical domains used by our semantics. The non-standard semantics of programs is given in Section 4 and the abstract semantics is introduced in Section 5. Section 6 presents the program transformation based on the abstract semantics. Finally, experimental results are given in Section 7 and Section 8 concludes. This section briefly illustrates the kind of code transformations we wish. Basically, we aim at optimizing the numerical precision of floating-point computations, i.e. we want to minimize the difference between the result output by the machine and the mathematical result that we would obtain if the computer used exact arithmetic. For example, let us consider the arithmetic expression e=(a*((b+c)+d)) and let us assume that the inputs belong to the following intervals:. Assuming that we are using the IEEE754 single precision, we want to perform the following transformation:. The sums are parsed in order to first add the smallest terms: this limits the errors since, in IEEE754 single precision, we have b + c = b. Furthermore, the product is distributed and this avoids the multiplication of the round-off errors of the additions by a large value and, consequently, this also reduces the final error. Using the domains introduced in Section 3 to compute an overapproximation of the error attached to the result of a floatingpoint computation, we obtain a bound on the maximal error arising during the evaluation of the expression (for any concrete set of inputs in the intervals given in Equation (1)). The errors for the source and transformed expressions are:. • Error bounds on e: [-1.5679E-2,1.5680E-2],. • Error bounds on e': [-7.8125E-3,7.8126E-3].. The error on the transformed expression is approximately half the error on the original expression. The transformation of arithmetic expressions has been defined in [18] . In this article, we generalize this work to the case of full programs, with variables, conditionals and loops. For example, it is well known that a sequence of numbers has to be sorted increasingly before being added. If we take. , we obtain the results of Figure 1 , where a, b, c, d and e stand for x0, x1, x2, x3 and x4, respectively. Depending on the user-defined parameters giving the precision of the transformation, all the formulas of Figure 1 can be automatically found by our technique.. In a program, a sequence of additions would typically arise inside a loop. The usual way to implement Equation (2) , assuming that the xi are stored in an array x[] of N elements (N is supposed even) is given on the left-hand-side of Figure 2 . It would not be reasonable to expect that a general and automatic semantics-based code transformation inserts a sort procedure in the new program. However, the program given on the right-hand-side of Figure 2 already significantly improves the precision of the computations. In the new program, the body of the loop has been unrolled by a factor 2 and the computation s = (s + xi) + xi+1 has been rewritten as s = s + (xi + xi+1). This corresponds to what was done for expressions, in Figure 1 for example. For technical reasons, an intermediary variable has been introduced and the new program computes = xi + xi+1 and then s = s + . We use a standard compile-time technique to unroll the loops [2] before applying the transformation for numerical precision: the body is replicated some number n of times (called the factor) and the loop counter is incremented by n instead of 1. Currently, the factor is a user-defined parameter of the transformation but there also exists standard heuristics to find efficient unrolling factors (e.g. based on the size of the code).. Assuming that xi = [2 N−i−1 , 2 N−i ] and that N= 4, we obtain, in IEEE754 single precision, the following error bounds on s depending on the program we use: Observe that the error bound obtained using the transformed code is closer to the best error bound than to the error bound of the original code. In this article, we have defined a code transformation to enhance the numerical precision of floating-point computations. This work extends previous work on arithmetic expressions to the case of full programs with assignments, conditional and loops. The transformed program may assign to the variables expressions which are very different from the original ones while still computing the same mathematical formulas. The quality of the transformation depends on a user-defined parameter corresponding to the height of the abstract expressions.. In [19] , we have shown that the transformation of expressions can be extended to other arithmetic, like the fixed-point arithmetic. This result can be generalized to full programs, for which the techniques introduced in this article can be applied to the case of fixed-point computations.. We believe that it would be very interesting to mix our transformation for numerical precision with other program transformations. First, our transformation can go against usual compiler optimizations which attempt to speedup the execution-time of programs and combined techniques should be studied. Second, we could use our transformation to specialize numerical programs, in the sense of partial evaluation [12] , with respect to certain sets of inputs: depending on the data, we chose some parsing of a formula or another. The connections with partial evaluation should be studied more deeply. Finally, other transformations could be mixed, like code watermarking and obfuscation for which round-off errors on floating-point computation could be used, e.g. to encode a watermark [7] .. The relation ≡ used in this article identifies expressions which are equal in the reals. These laws enable us to rewrite arithmetic expressions. However, the relation ≡ is not unique and could be extended by many other laws, as shown in Section 7. For example, some laws can be used to improve the precision of floating-point computations, like Sterbenz's theorem for subtraction [23] . In the case of fixed-point arithmetic, yet another set of rules is probably needed. The study of the most useful sets of rules for the most common computer arithmetic is one of our current work direction.. In the future, we also aim at implementing a program transformer able to handle large codes. This tool should work both in floating-point and fixed-point arithmetic since there are many industrial needs in both contexts. In this section, we show how our program transformation for numerical precision works on some examples. We also discuss how the set of rules defining the relation ≡ between arithmetic expressions can be chosen, in order to allow some transformations useful in practice. First, we reconsider the program introduced in Section 2 to compute the sum of decreasing terms. Let p denote the original program and pt the transformed program. Assuming that xi = [2 N−i−1 , 2 N−i ], we obtain, for different values of N, the error bounds given in Figure 9 . The evolution of both error bounds is also given by the curve of Figure 9 . We can see how the transformation improves the quality of the computation.. A variant of the previous example is the well-known Patriot bug [14] : a counter has been repeatedly incremented by 0.1 for a long time. It is well-known that the constant 0.1 is not representable exactly in binary and, as a consequence, the counter diverges. However, at compile-time, a program transformer could detect that the mathematical constant 0.1 cannot be stored exactly in the formats allowed by the IEEE754 Standard. Assuming that the body of the loop has been unrolled at least 5 times, by extending the relation ≡ which governs the program transformation, we could detect that by adding 0.1 five times we obtain 0.5 which is a power of 2, exactly represented in machine. We could obtain a program with the body of the loop unrolled five times, and 0.5 added to the counter. In order to obtain this result, the relation ≡ has to be augmented. Because it is not possible to add the rules a • b ≡ c for every triple (a, b, c) and for every operation • ∈ { + , -, x } such that a•b = c in real arithmetic, it is necessary to use a dynamic technique which computes, for any operation • between some constants a and b of the program, the exact result c and adds the rule a • b ≡ c to the relation of Figure 5 . Our next example shows that, depending on the data, different expressions can be selected. We consider the program given in the left-hand side of Figure 10 . The precision of the evaluation of the expression r depends on the parsing of the sum a + b + c. Our transformation uses the test a > 0.1 to restrict the environments in both branches. As a consequence, different parsings are selected in the branches of the conditionals in the transformed program. The precision in all the branches is given in the table of Figure 10 .. We could add more complex rules to the relation ≡ in order to generalize what we did in the previous example. Some tests which are not written in the original code could be added in the transformed program, in order to obtain more precise formulas depending on the data. However this technique cannot be applied systematically since it would lead to a combinatorial explosion. This technique can also be related to program specialization (by partial evaluation) where a program is optimized for certain data.

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


Example-based image color and tone style enhancement Color and tone adjustments are among the most frequent image enhancement operations. We define a color and tone style as a set of explicit or implicit rules governing color and tone adjustments. Our goal in this paper is to learn implicit color and tone adjustment rules from examples. That is, given a set of examples, each of which is a pair of corresponding images before and after adjustments, we would like to discover the underlying mathematical relationships optimally connecting the color and tone of corresponding pixels in all image pairs. We formally define tone and color adjustment rules as mappings, and propose to approximate complicated spatially varying nonlinear mappings in a piecewise manner. The reason behind this is that a very complicated mapping can still be locally approximated with a low-order polynomial model. Parameters within such low-order models are trained using data extracted from example image pairs. We successfully apply our framework in two scenarios, low-quality photo enhancement by transferring the style of a high-end camera, and photo enhancement using styles learned from photographers and designers. With the prevalence of digital cameras, there have been increasing research and practical interests in digital image enhancement. Tone and color adjustments are among the most frequent operations. While such adjustments often need to be determined on an individual basis, there exist many scenarios where tonal and color adjustments follow common implicit rules. For example, photographers often carefully tune the temperature and tint of existing colors in a photograph to convey specific impressions. For a specific impression, the types of adjustments are usually consistent across dif-ferent photographs. As another example, it is well-known that photographs taken by different digital cameras have varying degrees of tone and color discrepancies. This is because each type of camera has its own built-in radiance and color response curves. We define a tone and color style as a set of explicit or implicit rules or curves governing tonal and color adjustments.. Manually adjusting the tone and color of a photograph to achieve a desired style is often tedious and labor-intensive. However, if tone and color styles can be formulated mathematically in a digital form, they can be automatically and easily applied to novel input images to make them look more appealing. Unfortunately, the rules governing a tone and color style are most often not explicitly available. For instance, it is typically very hard for a photographer to mathematically summarize the rules he uses to achieve a certain impression; and it also involves much work to calibrate the radiance and color response curves of a camera especially considering the fact that color response curves need to cover the entire visible spectrum. Therefore, our goal in this paper is to learn implicit tone and color adjustment rules from examples. That is, given a number of examples, each of which is a pair of corresponding images before and after adjustments, we would like to discover the underlying mathematical relationships optimally connecting the tone and color of corresponding pixels in all image pairs.. For the following reasons, it is challenging to learn tone and color adjustment rules from examples. First, the relationships we need to identify are buried in noisy data available from example image pairs. We need to rely on machine learning and data mining techniques to discover hidden patterns and relationships. Second, the relationships are likely to be highly nonlinear and spatially varying. This is because camera radiance and color response curves are nonlinear, and the adjustment rules used by photographers most likely vary according to tone and color characteristics of local image regions. Third, there may exist other factors in the relationships in addition to the tone and color of individual pixels. For instance, the amount of adjustment may depend on neighborhood statistics which correlate with the material and texture properties of underlying object surfaces.. In this paper, we develop a learning based method to achieve our goal. We formally define tone and color adjustment rules as mappings, and propose to approximate complicated spatially varying nonlinear mappings in a piecewise manner. The reason behind this is that a very complicated mapping can still be locally approximated with a linear or low-order polynomial model. Thus, to tackle the complexity and nonlinearity, we adopt a divide-and-conquer strategy by first dividing a feature space into a number of subspaces and then approximating the tone and color mappings within each subspace with a low-order model. Parameters within such low-order models are trained using data extracted from example image pairs.. In theory, as long as the mappings exist, they can be approximated to a high precision if the feature space is subdivided into a sufficient number of subspaces.. More specifically, we have the following contributions in this paper. First, we develop a systematic framework for learning complicated tone and color styles from examples. The original feature space is divided into subspaces using binary classification trees. Every leaf node in a classification tree corresponds to a subspace, where a distinct pair of local color and gradient mappings are trained. Second, we identify effective low-order parametric models for local color and gradient mappings. The local gradient mappings are particularly effective for contrast enhancement. Effective techniques have also been developed for luminance channel optimization and spatially coherent color mapping. Third, we apply this framework in two scenarios. In the first scenario, we learn the picture style of a high-end digital camera and use that style to enhance photographs taken by low-end cameras. In the second scenario, we learn styles of images manually enhanced by photographers, and the learned styles can be successfully applied to novel input photographs as well. Our example-based framework requires a training stage during which color and tone mappings are learned from example image pairs. Once these mappings have been obtained, they can be applied to new images to enhance a certain color and tone style. These training and application phases are illustrated in Figures 2 and 3 Our basic idea is to learn hidden relationships between the color and tone of registered pixels. To effectively learn a style transformation, we propose to train color mappings using corresponding pixels in the image pairs. In general, such mappings are highly nonlinear and spatially varying. Finding a single closed-form parametric model for such mappings is an elusive task. We decide to represent these mappings in a piecewise manner.. We extract local statistical features from neighborhoods centered at every pixel in both images of every training pair. The features may include the average and standard deviation of colors within a neighborhood as well as gradient information. Let F be a multidimensional feature space where feature vectors extracted from training images reside. We build a binary feature space partition tree that divides F into n subspaces (leaf nodes), F1, F2, . . . , Fn, . All feature vectors contained in each leaf node define one feature subspace, and we train a local color mapping specifically tailored for that feature subspace. All subspace color mappings constitute our final piecewise approximation of the overall nonlinear color mapping.. Since luminance gradients along edges can significantly affect the overall image contrast, we further build a second binary feature space partition tree related to luminance gradients, and train local mappings for luminance gradients along edges.. The output of this training stage consists of two binary space partition trees: one for color mapping, and the other for luminance gradient mapping (Figure 2 ). In this paper, we have developed a method for learning color and tone styles from examples. This method is capable of discovering underlying mathematical relationships in color and tone between corresponding image pairs. We have successfully applied our framework in two scenarios, low-quality photo enhancement by transferring the style of a high-end camera, and photo enhancement using styles learned from photographers and designers.. Limitations. Like most other data-driven techniques, our proposed method requires a training stage where data-driven models are optimized. The performance of the trained data-driven models relies on the quality and quantity of the training data. Fortunately, this is not a serious problem with images. As a typical image already has at least hundreds of thousands of pixels with differ- Our work has been inspired by previous work on image enhancement, including automatic methods for exposure correction, contrast enhancement and color correction as well as interactive techniques for tonal and color adjustments.. Inspired by a model of the lightness and color perception of human vision, Jobson et al. [1997] proposed a multiscale center/surround retinex that achieves simultaneous dynamic range compression, color consistency, and lightness rendition. It is essentially a multiscale framework that simultaneously performs local and global color and contrast adjustments. Bae et al. [2006] performs automatic local and global tonal adjustments to an input image to make its local and global contrasts similar to those of a reference image. Lischinski et al. [2006] introduced an interactive local tone adjustment method based on a sparse set of scribbles. Cohen-Or et al. [2006] performs color adjustment according to harmonization rules. Shapira et al. [2009] proposed an interesting method to edit image appearances interactively using Gaussian mixture models (GMMs). Wang et al. [2010] presents a method for adjusting the color composition of an image to match a predefined color theme. All these techniques directly perform tonal or color adjustments to individual input images without learning parametric models for such adjustments.. Gradient domain image editing techniques and systems have been presented in [Fattal et al. 2002; Perez et al. 2003 ]. Fattal et al. in- troduces an effective method for high dynamic range compression by strategically reducing the magnitude of image gradients. Perez et al. presents a framework for gradient domain image editing by altering and re-integrating the original gradient field. An important difference between these existing techniques and our approach in this paper is that our approach identifies the connections between gradients from photos with two different styles and model such connections as parametric gradient mappings, while the above techniques only perform gradient domain adjustments to individual input images without training parametric models.. Much work has been performed on image color transfer [Reinhard et al. 2001; Chang et al. 2005; Piti and Kokaram 2007] . Typically, such a method performs a statistical analysis to impose the color characteristics of a reference image onto another source image. Though much progress has been made, the quality of the results still relies on the compatibility between source and reference images as pixelwise correspondences between them do not exist. Based on techniques in image search, cosegmentation and color transfer, Dale et al. [2009] developed a multi-purpose image enhancement framework that leverages a large database of images.. Color transfer results are used as training data for learning local parametric mappings. A significant difference between such color transfer based techniques and our work is that color transfer only transfers colors from one or multiple reference images to the source image and any mappings obtained during this process only work for a specific source image while our work in this paper attempts to train a set of tone and color mappings that are generally applicable to a class of images so that users do not need to choose a reference image for each source image. Siddiqui and Bouman [2008] developed a multi-stage color correction algorithm for enhancing digital images obtained from low quality imaging devices such as cell phone cameras. In this framework, a pixel color is classified into a category using a Gaussian mixture model and local color correction is performed using an affine transform specifically tailored for that category. The parameters in the Gaussian mixture model and affine transforms are learned in an offline training procedure. The differences between our work and [Siddiqui and Bouman 2008] are summarized as follows. First, we perform color correction and contrast enhancement simultaneously in the same framework while [Siddiqui and Bouman 2008] only performs color correction. Second, in our work, color adjustments are performed using quadratic models instead of affine models. Figure 4 demonstrates that quadratic models outperform affine models. Third, more importantly, the image and pixel categories adopted in [Siddiqui and Bouman 2008] are only suitable for imag-ing devices but not for photographers' stylistic adjustments while the pixel categories in our method are automatically extracted from training data using hierarchical clustering.. Global image enhancement techniques and pipelines have been presented in [Battiato et al. 2004; Kang et al. 2010] . In [Kang et al. 2010] , global parameters for image enhancement are trained using personalized enhancement examples. In contrast, our method trains local parametric models instead of global parameters.

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


Real-time markerless tracking for augmented reality: the virtual visual servoing framework Abstract-Tracking is a very important research subject in a real-time augmented reality context. The main requirements for trackers are high accuracy and little latency at a reasonable cost. In order to address these issues, a real-time, robust, and efficient 3D modelbased tracking algorithm is proposed for a "video see through" monocular vision system. The tracking of objects in the scene amounts to calculating the pose between the camera and the objects. Virtual objects can then be projected into the scene using the pose. Here, nonlinear pose estimation is formulated by means of a virtual visual servoing approach. In this context, the derivation of point-to-curves interaction matrices are given for different 3D geometrical primitives including straight lines, circles, cylinders, and spheres. A local moving edges tracker is used in order to provide real-time tracking of points normal to the object contours. Robustness is obtained by integrating an M-estimator into the visual control law via an iteratively reweighted least squares implementation. This approach is then extended to address the 3D model-free augmented reality problem. The method presented in this paper has been validated on several complex image sequences including outdoor environments. Results show the method to be robust to occlusion, changes in illumination, and mistracking. T HIS paper presents a vision-based markerless tracker for Augmented Reality (AR). Many different types of sensors have been used to achieve this, including GPS, gyroscopes, cameras, hybrid vision, accelerometers and others, as reported in [1] , [2] , [17] , [41] . Although the implementation presented here is not restricted to a particular display technology, for this work we use a monocular camera. This study will focus on the tracking techniques that allow alignment in real-time of real and virtual worlds using images acquired by a moving camera.. In this paper, a markerless 3D model-based algorithm is first used for the tracking of objects in monocular image sequences. The main advantage of a model-based method is that the knowledge about the scene (the implicit 3D information) allows improvement of robustness and performance by being able to predict hidden movement of the object and acts to reduce the effects of outlier data introduced in the tracking process. However, since such 3D information is not easily available in certain circumstances, it is sometimes necessary to achieve the pose computation with less constraining knowledge on the viewed scene. We will show that one can take advantage of the geometrical properties of the scene and of the vision system to compensate for the lack of a complete 3D model.

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


Teachers' acceptance and use of an educational portal In this study, teachers' acceptance and use of an educational portal is assessed based on data from two sources: usage data (number of logins, downloads, uploads, reactions and pages viewed) and an online acceptance questionnaire. The usage data is extracted on two occasions from the portal's database: at survey completion (T1) and twenty-two months later (T2). Framework for this study is C-TAM-TPB (Combined Technology Acceptance Model and Theory of Planned Behavior). 919 usable responses from teachers are obtained. Based on the observed use data at T1, four types of portal users are distinguished: 'new' (N = 37), 'light' (N = 641), 'medium' (N = 201), and 'heavy' (N = 40). Path analyses show that all predictor variables in C-TAM-TPB influence teachers' portal acceptance, but their significance level varies depending on the user type. The strongest predictors of behavioral intention to use the portal are attitude ('new') and perceived usefulness ('light', 'medium' and 'heavy'), with variance explained ranging from .39 ('medium') to .71 ('heavy'). The observed use data show that the portal is primarily used to search for and download material, rather than for sharing material or information. The use data at T2 show that teachers become more efficient in their search behavior and that the majority of the teachers use the portal more frequently. Guidelines are proposed to policymakers and school boards aiming to introduce a similar technology to teachers. With the spectacular growth in the number of users and the amount of information on the Internet, portals gain in significance as they bundle relevant information for their users (Jacoby & Luqi, 2005) . The occurrence of portals is a logical next step in the evolution of (nonexpert) end-user computing from stand-alone computers for personal use, via personal computers connected enterprise-wide, to computers interconnected throughout the Internet (Al-Mudimigh, Ullah, & Alsubaie, 2011) . Within the broad variety of existing portals, a distinction can be made between portals targeting a broad audience, such as MSN or Yahoo! (so-called horizontal portals), portals aimed at specific communities or areas of knowledge (vertical portals or vortals), intranet or enterprise portals and Internet gateways (Pienaar, 2003; Singh, 2006) . In view of the rich variety of portals, Singh (2006) first reviewed existing definitions and then defined portals in terms of three characteristics, being: (a) gateways to information, (b) user-centric and community-based, and (c) providing multiple services to the community.. Also in education, portals can prove their value, and the potential benefits of educational portals are acknowledged in many countries, such as Glow in Scotland, Kennisnet in Holland, and the National Educational Portal in Kenya. Previous research shows that teachers use a computer or technology primarily as a preparation or supportive tool (Ottenbreit-Leftwich, Glazewski, Newby, & Ertmer, 2010; Russell, Bebell, O'Dwyer, & O'Connor, 2003) rather than an instructional tool in the classroom (Mahdizadeh, Biemans, & Mulder, 2008) . Using a technology or computer as a supportive tool refers to using it for pro-active and administrative tasks (van Braak, Tondeur, & Valcke, 2004) , such as for student administration and evaluation, preparing worksheets and keeping track of pupils' learning progress. Technology integration in the classroom seems to be strongly related to and depend on the use of technology as a supportive tool (Wozney, Venkatesh, & Abrami, 2006) . Teachers who are already regular ICT users have more confidence in using technology in their teaching (Cox, Preston, & Cox, 1999) . In this vein, educational portals can play a facilitating role, as they help teachers to become familiar with and confident in using ICT. Portals are very accessible, not threatening (use can hardly be imposed by school boards) and prove their value almost immediately (as soon as valuable information is retrieved). Educational portals can be utilized in two ways as a supportive tool during preparation, either to retrieve information or to share knowledge and information. In both cases, teachers benefit from using the portal. On the one hand, while searching for (specific) material, a teacher could gain new insights as fellow teachers might take a different angle on a given subject (Ottenbreit-Leftwich et al., 2010) . Moreover, teachers should also gain in efficiency as someone else may have already shared the soughtafter lesson or learning material (Wasko & Faraj, 2000) . On the other hand, a teacher who shares material could benefit from "peer review" ultimately leading to improved teaching material (Kankanhalli, Tan, & Wei, 2005; Lai & Chen, 2011; Wasko & Faraj, 2000) .

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


Empirical investigation on factors influencing the behavioral intention to use Facebook Abstract There continues to be a gap in understanding of what makes an individual engage in Facebook use. This is the primary research question of this study. Social network research is a good place to begin. Hence, this research aims to investigate factors influencing the behavioral intention to use Facebook. Cross-sectional data were collected from 200 respondents through a survey. Data were then analyzed by means of multiple regression analysis. The findings verified the research hypotheses and confirmed that perceived enjoyment, perceived ease of use, and perceived usefulness all impact attitude toward continuance intention of Facebook. This paper provides some insights into how practitioners could better develop Facebook site and enhances understanding of users' perception toward Facebook. Facebook developer should evaluate ways to improve perceptions of their sites on these dimensions. Facebook group should add more game zones and interesting features to boost up the number of Facebook users so that Facebook can maintain or achieve a higher position in social networking sites compared to others. Implications for research and practice are discussed. Facebook is somewhat different from other social networking sites (SNS), as it demonstrates an offline-to-online trend; that is, the majority of Facebook friends is met offline and then added later. The number of Facebook users continues increasing globally, and Facebook is quickly becoming one of the most popular tools for social communication and entertainment, with more than 500 million worldwide active users [13] . Average users have 130 friends and spend over 700 billion minutes per month on Facebook. More than 30 billion pieces of content (Web links, news stories, blog posts, notes, photo albums, etc.) are shared each month. There are over 900 million objects that people interact with (pages, groups, events, and community pages).. SNS are increasingly regarded as private spaces where young people are ''hanging out'' and articulating or playing with notions of identity and belonging. Users create a profile and connect their profile to others for the purpose of forming a personal network. Facebook introduced features such as wall, pokes, status, photos, news feed, tag, market place, instant messaging, and video. Those who are curious and desire to explore new activities are more willing to use Facebook as a communication tool and to use a greater number of features, resulting in greater knowledge of Facebook's features. Because of the inherently interpersonal nature of an SNS, many relationships formed online eventually result in real-world contact. Despite the large number of studies that have recently examined SNS (i.e., [3, 12, 24, 32] ), there continues to be a gap in understanding what makes an individual engage in Facebook use. This is the primary research question of this study. Social network research is a good place to begin. Hence, this research aims to investigate factors influencing the behavioral intention to use Facebook. This paper contributes to such line of inquiry by building on previous work and helping contextualize existing findings. Result show that perceived enjoyment does influence perceived usefulness, where the students care about playfulness or enjoyment of Facebook which then lead to usefulness. Facebook could increase its entertainment channels such as the game zone and interesting feature for those who are more extrovert to feel the enjoyment first. Furthermore, perceived usefulness has the strongest positive relationship with perceived ease of use. This relationship has been proven by many studies [1, 8, 17, 28, 38, 39, 41] . When a system is being used frequently, people will find it generally good and perceive it as something useful. Turner et al. [48] show that the proportion of tests where perceived usefulness predicts actual usage is higher than for perceived ease of use, but the difference is minor and not significant. The only statistically significant difference is between the association of perceived ease of use to actual usage and behavioral intention to actual usage, which indicates that perceived ease of use is not as successful at predicting actual usage as behavioral intention. Moreover, perceived ease of use is also positively related to attitude. Next, attitude has strong positive relationship with perceived usefulness. Meanwhile, perceived usefulness is positively related to continuance intention. This is in line with the majority of the researches conducted on the Technology Acceptance Model [14, 16, 17, 19, 20, 33, 38, 39, 41, 45] .. When examining the basic TAM, both ease of use and usefulness had significant impacts on attitude. This finding is consistent with many other studies examining IS adoption. Presley and Presley [36] found that usefulness had a stronger effect than ease of use. It has been suggested that as systems become easier to use and users become more skilled, the variation in the ease of use construct is reduced, especially for the current Internet and e-commerce environment. It is certainly true that the types of students who participated in this study grew up with the Internet and would, by and large, be skilled users. In addition, perceived enjoyment is positively related to perceived usefulness. This echoes the findings by Venkatesh [51] , where playfulness and a well-designed interface were found to give user positive experience and, therefore, repeat usage. Satisfied users will have a more positive opinion on the application. The same holds for this research on Facebook. With regard to the hypotheses addressing the additional enjoyment constructs in the study of Presley and Presley [36] , enjoyment was found to improve the descriptive power of the model. Lastly, attitude is also positively related to IS continuance intention. Hsu and Lu [18] also found that attitude significantly and directly affected intentions to play online games. Data were collected from 200 Facebook users in Universiti Sains Malaysia (USM) main campus in Penang, Malaysia via questionnaire forms, and was coded and analyzed using the Statistical Package for Social Science (SPSS) computerized software version 17. The participants were asked to read and indicate their agreement or disagreement with each of the statement designed by using the 7-point scale. Each construct has four items. All items were adopted from various literature sources and were modified for the purpose of understanding Facebook usage intention (see Table 1 ). Data were then analyzed by means of multiple regression analysis to look for association between two metric variables and to test any cause and effect between two variables, respectively. Table 2 describes the sample characteristics. Among the 200 responses, 98.5% of the respondents were between 19 and 24 year old; 22% were male and 78% were female, both representing various specialties. The majority is Chinese (55%) and registered for undergraduate program with full time status. The majority (71.5%) of the students earned CGPA of 3.0-4.0 and 61.5% and were in the arts stream.

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


Uniform convergence and a posteriori error estimation for assumed stress hybrid finite element methods Abstract: Assumed stress hybrid methods are known to improve the performance of standard displacement-based finite elements and are widely used in computational mechanics. The methods are based on the HellingerReissner variational principle for the displacement and stress variables. This work analyzes two existing 4-node hybrid stress quadrilateral elements due to Pian and Sumihara [Int. J. Numer. Meth. Engng, 1984] and due to Xie and Zhou [Int. J. Numer. Meth. Engng, 2004], which behave robustly in numerical benchmark tests. For the finite elements, the isoparametric bilinear interpolation is used for the displacement approximation, while different piecewise-independent 5-parameter modes are employed for the stress approximation. We show that the two schemes are free from Poisson-locking, in the sense that the error bound in the a priori estimate is independent of the relevant Lamé constant λ. We also establish the equivalence of the methods to two assumed enhanced strain schemes. Finally, we derive reliable and efficient residual-based a posteriori error estimators for the stress in L 2 -norm and the displacement in H 1 -norm, and verify the theoretical results by some numerical experiments. Let Ω ⊂ R 2 be a bounded open set with boundary Γ = Γ D Γ N , where meas(Γ D )>0. The plane linear elasticity model is given by. in Ω, σ = Cε (u) in Ω, u| Γ D = 0, σn| Γ N = g, (1.1) where σ ∈ R 2×2 sym denotes the symmetric stress tensor field, u ∈ R 2 the displacement field, ε(u) = (∇u + ∇ T u)/2 the strain, f ∈ R 2 the body loading density, g ∈ R 2 the surface traction, n the unit outward vector normal to Γ, and C the elasticity modulus tensor with Cε(u) = 2µε(u) + λdivu I, I the 2 × 2 identity tensor, and µ, λ the Lamé parameters given by µ = E 2(1+ν) , λ = Eν (1+ν) (1−2ν) for plane strain problems and by µ = E 2(1+ν). , λ = Eν (1+ν) (1−ν) for plane stress problems, with 0 < ν < 0.5 the Poisson ratio and E the Young's modulus.. It is well-known that the standard 4-node displacement quadrilateral element (i.e. isoparametric bilinear element) yields poor results at coarse meshes for problems with bending and suffers from "Poisson locking" for plane strain problems, at the nearly incompressible limit (λ → ∞ as ν → 0.5). We refer to [1] for the mathematical characteristic of locking. To improve the performance of the isoparametric bilinear displacement element while preserving its convenience, various methods have been suggested in literature.. The method of incompatible displacement modes is based on enriching the standard displacement modes with internal incompatible displacements. A representative incompatible displacement is the so-called Wilson element proposed by Wilson, Taylor, Doherty, and Ghaboussi [29] . It achieves a greater degree of accuracy than the isoparametric bilinear element when using coarse meshes. This element was subsequently modified by Taylor, Wilson and Beresford [27] , and the modified Wilson element behaves uniformly in the nearly incompressibility. In [14] , Lesaint analyzed convergence on uniform square meshes for Wilson element. He and Zlámal then established convergence for the modified Wilson element on arbitrary quadrilateral meshes [15] . In [26] , Shi established a convergence condition for the quadrilateral Wilson element. In [34] , Zhang derived uniform convergence for the modified Wilson element on arbitrary quadrilateral meshes.. The assumed-stress hybrid approach is a kind of mixed method based on the Hellinger-Reissner variational principle which includes displacements and stresses. The pioneering work in this direction is by Pian [16] , where the assumed stress field assumed to satisfy the homogenous equilibrium equations pointwise. In [17] Pian and Chen proposed a new type of the hybrid-method by imposing the stress equilibrium equations in a variational sense and by adopting the natural co-ordinate for stress approximation. In [18] Pian and Sumihara derived the famous assumed stress hybrid element (abbreviated as the PS finite element) through a rational choice of stress terms. Despite of the use of isoparametric bilinear displacement approximation, the PS finite element yields uniformly accurate results for all the numerical benchmark tests. Pian and Tong [20] discussed the similarity and basic difference between the incompatible displacement model and the hybrid stress model. In the direction of determining the optimal stress parameters, there have been many other research efforts [19, 30, 31, 32, 35] . In [30, 32] , Xie and Zhou derived robust 4-node hybrid stress quadrilateral elements by optimizing stress modes with a socalled energy-compatibility condition, i.e. the assumed stress terms are orthogonal to the enhanced strains caused by Wilson bubble displacements. In [36] a convergence analysis was established for the PS element, but the upper bound in the error estimate is not uniform with respect to λ. So far there is no uniform error analysis with respect to the nearly incompressibility for the assumed stress hybrid methods on arbitrary quadrilateral meshes.. Closely related to the assumed stress method is the enhanced assumed strain method (EAS) pioneered by Simo and Rifai [25] . Its variational basis is the HuWashizu principle which includes displacements, stresses, and enhanced strains. It was shown in [25] that the classical method of incompatible displacement modes is a special case of the EAS-method. Yeo and Lee [33] proved that the EAS concept in some model situation is equivalent to a Hellinger-Reissner formulation. In [24] , Reddy and Simo established an a priori error estimate for the EAS method on parallelogram meshes. Braess [3] re-examined the sufficient conditions for convergence, in particular relating the stability condition to a strengthened Cauchy inequality, and elucidating the influence of the Lamé constant λ. In [4] , Braess, Carstensen and Reddy established uniform convergence and a posteriori estimates for the EAS method on parallelogram meshes.. The main goal of this work is to establish uniform convergence and a posteriori error estimates for two 4-node assumed stress hybrid quadrilateral elements: the PS finite element by Pian and Sumihara [18] and the ECQ4 finite element by Xie and Zhou [30] . Equivalence is established between the hybrid finite element schemes and two EAS proposed schemes. We also carry out an a posteriori error analysis for the hybrid methods.. The paper is organized as follows. In Section 2 we discuss the uniform stability of the weak formulations. Section 3 is devoted to finite element formulations of the hybrid elements PS and ECQ4 and their numerical performance investigation. We establish the uniformly stability conditions and derive uniform a priori error estimates in Section 4. Equivalence between the hybrid schemes and two EAS schemes is discussed in Section 5. We devote Section 6 to an analysis of a posteriori error estimates for the hybrid methods and verification of the theoretical results by numerical tests.

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


Rank-based dimension reduction for many-criteria populations Interpreting individuals described by a set of criteria can be a difficult task when the number of criteria is large. Such individuals can be ranked, for instance in terms of their average rank across criteria as well as by each distinct criterion. We therefore investigate criteria selection methods which aim to preserve the average rank of individuals but with fewer criteria. Our experiments show that these methods perform effectively, identifying and removing redundancies within the data, and that they are best incorporated into a multi-objective algorithm. In many populations the individuals attempt to optimise their performance on a set of K criteria, for example the solutions of a many-objective evolutionary optimisation, or the example considered here, universities which strive to optimise their performance on K = 8 key performance indicators such as student satisfaction and research quality. In order to facilitate understanding of the structure of the population in a smaller space we investigate methods of selecting the most informative criteria.. The inspiration for our dimension reduction methods is drawn from the comparison of different rankings, and we quantify the structure of the population by the average rank [1] of individuals, computed by averaging for each individual the result of ranking the population by each criterion in turn. This enables comparison between the original full-criteria set and criterion subsets by average rank, which we wish to preserve. We demonstrate the use of a multi-objective evolutionary algorithm (MOEA) for selecting the low-dimensional subset. The order in which criteria are removed by a greedy backward algorithm for each ρ and τ on both augmented GUG09 datasets. Both metrics remove the synthetic criteria, 9-16 in the duplicated data, 9 and 10 in the averaged data, before any of the original criteria.. We illustrate these methods with the Times Good University Guide 2009 (GUG09) dataset which reports on the performance of 113 UK universities in 2008 [4, 5] . In order to evaluate how well rank-based dimension reduction can remove redundancy, the GUG data is modified to produce two synthetic datasets: one in which each criterion is duplicated; and the other in which two new criteria have been created by averaging two pairs of highly correlated criteria from the original data. Applying the criterion selection process to the GUG09 data without synthetically redundant criteria finds that the two most significant criteria, contributing the most to the overall structure, are research quality and entry standards.. We are currently extending this work by investigating the efficacy of incorporating criterion selection into a MOEA, so that it can optimise problems consisting of a larger number of objectives by dynamically selecting the most relevant subset for optimisation.

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


Automated tutoring for a database skills training environment Universities are increasingly offering courses online. Feedback, assessment, and guidance are important features of this online courseware. Together, in the absence of a human tutor, they aid the student in the learning process. We present a programming training environment for a database course. It aims to offer a substitute for classroom based learning by providing synchronous automated feedback to the student, along with guidance based on a personalized assessment. The automated tutoring system should promote procedural knowledge acquisition and skills training. An automated tutoring feature is an integral part of this tutoring system. The School of Computing at Dublin City University offers a second year undergraduate module, an introduction to databases, which is presented online. Courseware is comprised of lectures in textual, pictorial, and audio format, along with animated tutorials. Also included are interactive lab sessions, one of which tutors students in SQL (structured query language), a database definition and manipulation language.. SQL is a declarative database programming language, comprised of approximately thirty English commands, such as select, insert, and update. It is the most widely used language for relational 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. database data definition and data manipulation. For this reason, it is commonly included in introductory database courses.. Our automated tutoring system is concerned with the SQL select statement, for a variety of reasons. This statement is used to retrieve information from a database, and can be viewed as being the most fundamental of the SQL statements. It can be simple, but also has the capacity to become quite complex, thus lending itself to being taught to students with a wide range of ability.. Learning is a complex domain. With classroom-based modules a human lecturer or tutor is generally available to personally correct answers and offer specific advice to students. This type of support is not immediately available with an online course. Disadvantages can result, such as being unable to offer personalized guidance. Accordingly, to facilitate independent and self-reliant learning with an online environment, there needs to be a certain level of advice and guidance. Our tutoring system aims to provide this by using feedback, assessment, and personalized guidance, all of which are available at all times, to support the learner due to the absence of synchronous human tutoring. This is available at all times. The tutoring system focuses on training and development of skills rather than on knowledge and learning. It is similar in aspects to intelligent tutoring systems [10] , and so interaction is primarily learner-content, rather than learner-learner. Similar database tutoring systems exist. One such system is SQLTutor [7] . Like our system, it is intended as a practise environment and supposes that students have previously been exposed to the concepts of database management in lectures. SQL-Tutor uses constraint-based modelling to create a model of and deliver feedback to the student. Another system, Acharya [1] , uses truth table processing to correct SQL select statements. It too offers feedback to the student.. While SQL tutoring systems exist [1] [7] , it has been noted that many do not use an assessment of the student's previous progress throughout the tutorial in order to offer an optional personalized and adaptive guidance element. We aim to rectify this issue in our system. Additionally, students will submit statements to an actual Oracle database that can be used for coursework and projects, a feature often absent in other online SQL tutors. This paper will outline the pedagogical issues we address in our project. We will then describe the conceptual structure of the system, including examples of student-system interaction. We will conclude with an evaluation and discussion. The popularity of online tutorials is increasing as university class numbers expand and the availability of the Internet grows. Online tutoring however can be a complex task. Often learning through technology results in the computer simply acting as a substitute for a textbook. In order to maximise the potential offered by technology, online tutoring systems should reflect the role of the teacher rather than the textbook. For example, it would be beneficial to offer feedback to the student when they are having difficulty. A further benefit would be to note the areas the student is excelling in or having problems with and offer advice based on this.. Formal languages are particularly suited to automated tutoring. Their structure makes the expressions in these languages relatively easy to analyse and are often easy to define. Therefore, the comprehensive automated tutoring of a formal language becomes a realistic goal.. The system we presented here is an automated tutor for a database skills training environment. It aims to help students develop their SQL skills and is focused on training rather than knowledge acquisition. SQL is a formal language and so it is suited to automated tutoring. As with most formal languages errors can be easily classified as syntactical, semantic, or pragmatic, and thus can be analysed.. Our strategy for the automated tutoring of a formal language, SQL, is based on the virtual apprenticeship model. As with a traditional apprenticeship the student is engaged in a learning-bydoing process. The master observes and offers assistance when necessary. The automated tutoring system presented uses attempts to emulate this using scaffolding in the form of feedback and guidance. In keeping with guided discovery the student may view increasing levels of feedback, namely error flags, hints, and partial solutions.. Typically the student will attempt a number of tasks over one or more sessions. Information about each attempt and any errors made are stored. This is retrieved and used if the student wishes to obtain dynamically created personalized guidance.. Analysis of student activities and surveying of students have shown this automated tutoring system to positively influence exam results, and students have accepted it equally with classroom based lectures. The tutoring system presented here attempts to move beyond teaching the basic constructs of SQL alone. By encouraging the student to repeatedly practise the use of certain concepts he will gradually learn the pragmatics of the language, such as rules and conventions.

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