Efficient heuristics for energy-aware routing in networks with bundled links Abstract-Current networks are typically over-provisioned to ensure low delays, redundancy and reliability. These Quality of Service (QoS) guarantees are typically achieved using high end, high power network equipments. Their use, however, has led to concerns regarding green house gas emissions, which garnered a lot of attention recently and have resulted in a number of global initiatives aim at reducing the carbon footprint of Internet Service Providers (ISPs). These initiatives have motivated ISPs and researchers to design novel network algorithms and hardware that scale the usage or active time of a network according to traffic load. To this end, this paper considers the problem of shutting down a subset of bundled links during off-peak periods in order to minimize energy expenditure. Unfortunately, identifying the cables that minimize this objective is an NP-complete problem. Henceforth, we propose several practical heuristics based on Dijkstra's algorithm and Yen's k-shortest paths algorithm.We evaluated our heuristics on the Abilene network -with both real and synthetic traffic matrices and several larger random topologies with various loads. Our results show that the proposed heuristics to be effective and efficient. Moreover, our approaches could potentially reduce the energy usage of cables used in the Abilene network by up to 56.7%, assuming the traffic demands recorded on September 5, 2004. Today's computer network infrastructures around the world consume non-negligible amount of energy. For example, the energy usage of the network infrastructures in Italy in 2006 exceeded 1.4 TWh, which is approximately 0.7% of the total energy usage [1] . Other examples include Verizon, where in 2006, it consumed 8.9 TWh (about 0.26% of USA consumption of links with low utilization. Note that a router typically contains more than one line-card slot, thus, reactivating a router from its sleep state requires significantly longer time as compared to powering on a single line card for a link [10] . This paper considers line cards that have the said active/idle toggling capability, and are connected by multiple physical cables. These cables form one logical bundled link [11] as standardized by the IEEE 802.1 AX [12] ; that is, the Medium Access Control (MAC) layer treats each bundled link as a single link. An advantage of using bundled links is that they afford network operators an easy way to upgrade network capacity. However, during off-peak periods, where the full network capacity is not required, there is a clear incentive, in terms of energy cost reduction, to power off cables.. Our main contributions are as follows. We propose an efficient approach -Shortest Single Path First (SSPF), described in Section 4, to power off redundant cables as long as the remaining cables provide sufficient capacity to satisfy traffic demands. We build on the work in [13] . However, it is important to note that our work is different to [13] in two significant aspects. First, unlike the method in [13] that allows multiple paths, our approach routes each traffic demand using only a single path; see Section 2 for its advantages. Our extensive simulations in Section 5 show that this restriction does not reduce the effectiveness of our approach while significantly reducing time complexity as compared to the approach in [13] .. Our heuristic approach only takes 0.385 seconds, as compared to 79.6 seconds using FGH [13] to find redundant cables to switch-off in the Abilene topology, which translates to a saving of 50%, versus 46.3% produced by FGH, in energy consumption. Second, the method in [13] , while reducing energy, does not set an upper bound on link utilization. In contrast, we include the maximum link utilization 0≤U T ≤1.0 as a constraint in our model; see Section 3.2.. In this paper, we have proposed three versions of SSPF: SSPF-1, SSPF-2 and SSPF-R. SSPF-1 and SSPF-2 are exactly the same except for heuristic functions that are used to determine candidate cables to be powered off; Section 4 and 5 compare the performance of these two versions. Given that both SSPF-1 and SSPF-2 may result in a local minimum, we have proposed SSPF-R to overcome local minima and produce better results than SSPF-1 and SSPF-2.. The rest of the paper is organized as follows. Section 2 discusses the related work. Section 3 formulates the problem at hand. Section 4 describes three efficient heuristics to solve said problem. Section 5 presents our evaluation methodology and results. Section 6 concludes the paper. In this paper, we have proposed an efficient and effective heuristic approach, SSPF, to minimize network energy usage while satisfying all network traffic demands subject to a. given maximum link utilization constraint. Our approach aims to switch off redundant cables in core routers using bundled links. However, unlike [13] , our approach routes each traffic demand onto one single path, which simplifies routing. We have used the Abilene topologywith both real and synthetic traffic matrices and several larger randomly generated topologies -with synthetic traffic matrices to evaluate its performances. The simulation shows that our approach could potentially save up to 56.7% of the energy expenditure incurred by the Real Abilene topology, as per the 24 hours traffic demands, measured every five minutes, obtained from [38] . Further, our heuristic significantly outperforms the approaches in [13] , both in terms of their running times and energy savings. Re-routing traffic demands to minimize active cables using both FGH [13] and our approach may focus traffic flows to switched-on cables and/or use longer (s d , t d ) paths. Consequently, our results increase the path length and/or the upper bound of the network's link utilization. As a future work, we plan to extend our approach to include constraints on the maximum path length. Further, we will also include node energy consumption in our power model, which is suitable for an environment where both node and link can be powered-off to save energy. Flow(E r ,(i, j) Green networking research emanated from the seminal work of Gupta et al. [14] . The authors examined the energy consumption of networking devices and discussed their impact on network protocols if they are put to sleep. They showed that packets routed through networks with coordinated sleeping, called the network-wide approach, require protocol changes, whilst those with uncoordinated sleeping, called the link layer approach, only require local information. In a subsequent work, Gupta et al. [15] explore this idea in a wired LAN setting.. However, as argued in [16] , this approach is not applicable to backbone networks that have short packet interval times. Nevertheless, their works [14, 15] have inspired recent research on conserving energy in networks, including ours.. There has been a handful of works on energy-aware Traffic Engineering (TE), some of which uses distributed optimization [17, 18, 19, 20] while others utilize centralized optimization [13, 16, 21, 22, 23, 24] . Vasic et al. [17] present EATe, a technique that takes energy consumption into account while achieving the same traffic rates between source and destination nodes as energy oblivious approaches. However, they assume fixed end-to-end paths, which make their approach non-flexible and hard to operate. The authors in [18] propose an energy-aware source routing protocol for a cognitive packet network. However, their method is usable only for smart packet networks [18] . The authors of [19] propose a distributed method that selectively switches off links in an IP-based network to save power. Another distributed strategy, proposed in [20] , generates an energy-aware network topology and weight metrics for each time period. In their design [20] , the network control and management system is responsible for populating a historical demand matrix for each time period.. In [23] , the authors propose a centralized algorithm that exploits the algebraic connectivity of a network to find the set of links that can be put into standby state, thus generating an energyaware network topology. Such topology-oriented solution is a planned operation, performed statically by a network administrator for each time period. Thus, when the algorithm incorrectly removes a sub-optimal link, it will never backtrack to correct its mistake for the period. Other centralized optimization solutions on energy-aware TE, like ours, use shortest paths routing [13, 16, 21, 22, 24] . However, these studies do not consider links with bundled cables except [13] . In [21] , the authors formulate the problem of power consumption as multi-commodity minimum cost flow problems, and provide methods to switch off routers according to policies such as random, least link, least-flow and most-power. Their algorithms in [21] , running on a centralized controller, select the minimum set of devices that must be switched on to meet current traffic demands. Further, they consider a scenario that reconfigures the network periodically, e.g., every 30 minutes, to match the daily traffic variation in current backbone networks. Note that fewer network reconfigurations reduce pot ential power saving but mitigate latencies incurred when changing power state. Similar to the model in [21] , we assume that a network operator changes network configuration infrequently, i.e., only during the off-peak periods, to reduce the risk of network oscillations.. The authors of [21] consider different node types, i.e., access and backbone nodes. We, on the other hand, consider only backbone networks comprising of nodes that cannot be switched off. As described later, our work is closely related to [13] . The approach in [22] uses shortest paths routing protocol to find network elements (routers and weighted links) that can be switched off to minimize the total energy consumption while guaranteeing a given maximum link utilization (MLU) constraint. For their power saving problem [24] , the authors use an integrated IP layer strategy that is compatible with Open Shortest Path First (OSPF).. Their approach aims to generate a subset of IP links to be powered off, when network traffic decreases, subject to satisfying a given link load constraint.. The authors of [16] propose an intra-domain TE mechanism, called GreenTE, which maximizes the number of links that can be put into sleep to minimize power consumption under two performance constraints: maximum link utilization and packet delay. They modelled the problem as a mixed integer program and proposed a heuristic algorithm. For each demand d, their algorithm requires all (s d , t d ) k-shortest paths as the input, and uses the AMPL/CPLEX solver [25] to generate routes for all traffic demands that use the minimum number of switch-on links/nodes, and hence minimizes power usage, subject to the given constraints. Note that the comput ational time of the algorithm increases significantly with increasing values of k. However, unlike our work and that in [13] , GreenTE considers each link with only a single cable. Further, similar to [13] , their model [16] may route a demand through multiple paths.. Fisher et al. [13] consider networks in which each pair of core routers is connected by multiple physical cables that form one logical bundled link [11] . They formulated an Integer Linear Programming (ILP) that maximizes the total number of powered-off cables, with the constraint that all traffic demands can be routed through remaining cables. The authors showed that the problem is NP-complete and proposed three heuristics: FGH, EGH, and BGH. Each algorithm iteratively selects one candidate cable to be deleted and use a Linear Program (LP) [13] to check if deleting the cable yields a feasible solution, i.e., the traffic demands can be routed using remaining cables. They used AMPL/CPLEX [25] to solve the LP, which may route one traffic demand onto multiple, not necessarily disjoint, paths.. Splitting traffic flow onto multiple paths increases packet delays as well as routing complexity; moreover, throughput of the Transmission Control Protocol (TCP) can be affected significantly due to out of order packets [26] . In contrast, our work restricts each demand to only a single path, which is simpler and more practical. For example, the Multiprotocol Label Switching (MPLS) is generally used with a working configuration that avoids splitting demands, and in most router implementations, packets that belong to a particular TCP session (i.e., going to a specific destination in terms of IP address of the end computer) are routed on a specific shortest-path (even if multiple shortest paths are available) [27] . Further, Proposition 4.1 in [27] shows that when the number of demands is much larger than the number of edges, which occurs in most practical cases, most demands can be routed through single paths. Apart from that, reference [13] does not consider MLU, and therefore the utilization of remaining links may reach 100%. In contrast, our model includes the threshold of MLU, 0≤U T ≤1.0, as a constraint, which can be flexibly set according to best current practices, e.g., 30% to 40%. Note that FGH, the fastest among the three algorithms in [13] , may be stuck in a local minimum if it removes an incorrect or sub-optimal cable, and will never backtrack to correct its mistake. In contrast, our SSPF-R algorithm, described in Section 4.3, is able to avoid local minima. Further, FGH requires 50 20 minutes and 14 4 minutes to produce results for the Waxman and Hierarchical topologies [13] respectively. In contrast, our proposed approach, described in Section 4, is able to produce better energy savings in less than five seconds. Given that about 30% of traffic demands in the Abilene network change every five minutes [16] , we need a more efficient, i.e., faster algorithm, to adapt quickly to changing traffic conditions whilst achieving energy savings.. Our problem, described in Section 3, is a special case of the multi-commodity capacitated network design problem (MCND), a known NP-hard problem [28] . MCND's reduction, from the Satisfiability problem, uses as many commodities as there are clauses, while the authors, in [29] , present a reduction of the Satisfiability problem to the two-commodity integral flow in directed graphs (D2CIF). The problem aims to minimize network costs, e.g., energy, while satisfying traffic demand requirements and link capacity constraints. Several heuristics [30, 31, 32] and branch-and-cut methods [33, 34, 35] have been proposed to solve this problem.. Reference [36] studies a 0-1 reformulation of MCND, and shows that extended linking inequalities, derived from variable disaggregation techniques, are equivalent to residual capacity inequalities. The authors of [36] provide a heuristic method that produces a lower bound for MCND with a value that is equivalent to one computed by a LP. Note that their method can be used to generate the initial routes for energy aware routing as an alternative to the LP approach used in [13] and shortest paths, as used in our algorithm, i.e., Step 1 in Figure 1 , described in Section 4. x be a binary variable that is set to 1 (0) when the traffic d is routed. (not routed) through link (i, j), and. be the total flow on (i, j). Note that . Lastly, let 0≤U T ≤1.0 be the threshold of MLU, and r ij be the remaining/spare capacity on link (i, j), computed as r ij =(n ij /w ij )U T c ij −f ij . has different link connections and capacities than the Abilene in [13] . To further evaluate the performance of SSPF and FGH, we used GT-ITM [39] to generate three random graphs Geo10, Geo30, and Geo50 that represent small, medium and large topologies respectively; Geo50 contains 50 nodes and 434 links. Further, we also used GT-ITM [39] to generate a large hierarchical graph (Hier100) that has 100 nodes and 284 links.. Each link in the Abilene topology has capacity c ij =10000 and in Wax50 c ij =1000, while the capacity of links in Hier50 is either 1000 or 200; we assume the same capacity unit (e.g., megabytes per second) for both link capacity and traffic demand. Each link in Real Abilene has either c ij =9920 or c ij =2480. For the three random topologies, each link has capacity c ij =1000 and Hier100 has capacity c ij =10000.. As shown in Table 1 , the traffic demands for each topology range from 90 to 9900. For the three topologies, Abilene, Hier50 and Wax50, we used the traffic demands and flows provided by the authors of [13] . For each random graph and Hier100, we consider traffic demands between each (s d , t d ) pair in the network; i.e., Hier100 with 100 nodes has 100*(100-1)=9900 traffic demands. Each traffic flow is generated using the classical entropy model for urban traffic, as described in [40] . The model computes each traffic flow b d =10*rn 1 *rn 2 , where rn 1 and rn 2 are two random numbers between 0 and 1; thus, 0≤b d ≤10.. Finally, for Real Abilene, we used the traffic matrices from [38] , measured every five minutes over a 24 hours period. We used Real Abilene and their 288 different traffic demands in Section 5.4.. We have implemented SSPF in Java 6. We computed the energy saving for a given topology by taking the percentage of the total number of off cables over the total number of cables.. The power consumption of line-cards used in our simulations is specified in Table 2 . For FGH, we used its implementation provided by the authors of [13] . The authors of [13] ran FGH on a Window machine and used the AMPL/CPLEX to solve the LP in [13] . In our simulation, we replaced AMPL/CPLEX with a Linux-based GLPK [41] . Note that FGH's running times reported in [13] are significantly slower compared to those generated in our simulations. For example, the authors of [13] reported that FGH for Wax50 required up to 50 ±20 minutes while in our simulation, the algorithm took only 5±2 minutes. However, the energy savings reported in [13] for FGH on the three topologies (i.e., Abilene, Wax50, and Hier50) are equivalent to our results; we used the results obtained in our simulations for the FGH's running time and energy saving. We compute the energy saving as the ratio between total powered-off cables and all cables in the network.. We ran all the algorithms on a Linux machine with Fedora 10 (2.6.x kernel), 1024 MB memory and 28GB hard disk. For SSPF-1, SSPF-2 and SSPF-R, we set k=100, and SSPF-R uses the argmax function. We ran each algorithm five times, and calculated its average CPU time. Table 2 shows that SSPF-R always produces better energy savings than SSPF-1 and SSPF-2. Since SSPF-R, as described in Section 4.3, runs either SSPF-1 or SSPF-2 repeatedly and selects the best result from all possible outcomes, SSPF-R is guaranteed to always produce at least the energy savings of SSPF-1 or SSPF-2. However, as a trade-off, the running time of SSPF-R is always slower than either SSPF-1 or SSPF-2.

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


Mining

and

exploring

care

pathways

from

electronic

medical

records

with

visual

analytics

Objective:

In

order

to

derive

data-driven

insights,

we

develop

Care

Pathway

Explorer,

a

system

that

mines

and

visualizes

a

set

of

frequent

event

sequences

from

patient

EMR

data.

The

goal

is

to

utilize

historical

EMR

data

to

extract

common

sequences

of

medical

events

such

as

diagnoses

and

treatments,

and

investigate

how

these

sequences

correlate

with

patient

outcome.

Materials

and

methods:

The

Care

Pathway

Explorer

uses

a

frequent

sequence

mining

algorithm

adapted

to

handle

the

real-world

properties

of

EMR

data,

including

techniques

for

handling

event

concurrency,

multiple

levels-of-detail,

temporal

context,

and

outcome.

The

mined

patterns

are

then

visualized

in

an

interactive

user

interface

consisting

of

novel

overview

and

flow

visualizations.

Results:

We

use

the

proposed

system

to

analyze

the

diagnoses

and

treatments

of

a

cohort

of

hyperlipidemic

patients

with

hypertension

and

diabetes

pre-conditions,

and

demonstrate

the

clinical

relevance

of

patterns

mined

from

EMR

data.

The

patterns

that

were

identified

corresponded

to

clinical

and

published

knowledge,

some

of

it

unknown

to

the

physician

at

the

time

of

discovery.

Conclusion:

Care

Pathway

Explorer,

which

combines

frequent

sequence

mining

techniques

with

advanced

visualizations

supports

the

integration

of

data-driven

insights

into

care

pathway

discovery.

Advances

in

data

collection

and

storage

technologies

have

led

to

ubiquitous

yet

complex

Electronic

Medical

Records

(EMRs).

Because

patient

EMRs

reflect

the

temporal

nature

of

patient

care,

a

patient's

sequence

of

symptoms

and

diagnoses

often

correlates

with

their

medications

and

procedures.

These

observed

events

may

unlock

the

ability

to

analyze

disease

progression

pathways

and

identify

temporal

patterns

We

believe

such

patterns

may

provide

important

insights

into

how

diseases

evolve

over

time

and

the

effects

of

implemented

interventions..

However,

despite

the

fact

that

temporal

knowledge

discovery

and

pattern

mining

is

no

longer

an

unaddressed

problem

in

data

mining

it

is

still

not

easy

to

directly

apply

or

adapt

existing

technologies

to

medical

data

for

a

number

of

reasons:.

There

are

many

different

event

types

encoded

in

EMRs.

For

example,

there

are

thousands

of

distinct

diagnosis

codes,

lab

tests

and

drugs.

Typically,

large

numbers

of

distinct

event

types

can

adversely

affect

the

computational

efficiency

of

temporal

pattern

mining

techniques.

EMRs

may

contain

millions

of

patients

over

decades,

and

such

voluminous

data

poses

a

great

computational

challenge

to

conventional

methods.

In

medical

scenarios,

there

are

typically

outcomes

associated

with

each

patient,

such

as

the

diagnosis

of

a

disease

or

hospitalization.

Clinicians

are

not

only

interested

in

the

temporal

patterns,

but

also

in

the

correlations

between

such

patterns

and

the

patients'

outcomes.

Most

existing

pattern

mining

techniques

lack

the

capability

to

elucidate

such

correlations..

In

this

paper,

we

propose

Care

Pathway

Explorer,

an

interactive

hierarchical

information

exploration

system

for

analyzing

longitudinal

medical

records.

Our

system

provides

a

visual

overview

of

frequent

patterns

mined

from

EMR

patient

traces.

Instead

of

mining

and

visualizing

all

details

at

once,

the

interface

supports

interactive

exploration

for

researchers

to

examine

the

level-of-detail

relevant

to

user

tasks

by

leveraging

event

hierarchies..

Elsevier

Inc.

All

rights

reserved..

There

are

several

major

components

to

the

Care

Pathway

Explorer:.

The

Event

Database,

which

stores

patient

electronic

medical

records

with

multiple

event

types,

patient

outcomes,

and

the

event

hierarchy

for

each

event

type.

The

Data

Preprocessor,

which

constructs

patient

traces

from

the

event

database

that

can

be

directly

fed

into

the

Frequent

Pattern

Analytics

engine.

The

Frequent

Pattern

Analytics,

which

mines

frequent

patterns

from

patient

traces

obtained

by

the

Data

Preprocessor

and

analyzes

how

these

mined

patterns

correlate

with

outcomes.

The

Visual

Interface,

which

provides

visualizations

of

the

frequent

pathway

events,

with

which

users

can

interact

to

explore

details

of

interest

and

generate

insights..

These

visual

analytic

technologies

combine

to

support

the

mining

and

visualization

of

care

pathway

patterns.

The

goal

is

to

provide

insights

into

which

practices

lead

to

desirable

patient

outcomes,

so

clinicians

can

interpret

meaningful

patterns

and

customize

care

plans

for

complex

patients.

As

established

clinical

practice

guidelines

typically

only

cover

a

single

disease

condition

for

average

patients,

such

customization

tools

are

critical

in

order

to

tailor

care

plans

to

the

specific

needs

of

real

world

patients

who

often

have

multiple

complex

comorbidities.

As

mentioned,

some

of

the

patterns

were

initially

surprising

to

the

clinical

researcher.

He

suspects

that

many

of

the

prescribers

of

certain

medications

are

not

aware

that

there

may

be

side

effects

associated

with

raising

LDL

levels.

In

fact,

only

after

examining

medical

literature

was

Dr.

Sorrentino

able

to

confirm

the

link

between

treatments

featured

in

the

negative

patterns

and

higher

LDL

levels..

While

this

provides

evidence

that

Care

Pathway

Explorer

leads

to

insights,

there

remains

future

work

to

address

certain

limitations.

For

instance,

there

are

still

scalability

issues

with

the

mining

algorithm.

Even

though

our

approach

uses

a

computationally

efficient

bitmap-approach,

large

datasets

with

many

concurrent

events

will

slow

down

the

algorithm.

We

are

investigating

the

possibility

to

deploy

the

Frequent

Pattern

Analytics

in

a

cloud-based

distributed

architecture,

which

is

compatible

with

the

hierarchical

aspects

of

the

algorithm.

Addressing

this

scalability

issue

will

also

help

determine

the

efficacy

of

our

approach

in

settings

where

real-time

decision

support

is

needed..

Another

issue

is

that

the

analytics

currently

require

manual

specification

of

certain

parameters,

such

as

the

support

threshold.

While

users

can

interactively

specify

these

parameters,

users

must

wait

for

the

analytics

to

finish

before

finding

out

how

many

patterns

the

parameters

result

in.

We

plan

to

improve

this

by

providing

scented

widgets

that

inform

the

users

how

many

patterns

their

choices

may

lead

to

before

they

commit

to

a

specification..

While

we

have

provided

a

long-term

case

study

of

the

system,

additional

validation

is

required

to

fully

understand

the

implications

of

mining

care

pathways

and

for

determining

how

such

techniques

can

be

used

for

more

than

validating

known

findings.

We

Fig.

Examples

of

insights

reached

interactively

when

mining

patterns

from

patients

with

a

hypertension

pre-condition

before

the

initial

hyperlipidemia

diagnosis

patients,

featuring

hyperlipidemia-related

diagnoses

and

medication

events)..

plan

to

deploy

and

evaluate

the

system

with

more

datasets

and

case

studies

to

better

understand

the

role

of

these

technologies

in

clinical

decision

support..

Another

potential

issue

is

that

clinical

data

in

practice

may

contain

redundant

or

erroneous

data

that

may

have

implications

on

the

resulting

analysis

While

addressing

these

issues

is

beyond

the

scope

of

our

paper,

Care

Pathway

Explorer

has

been

tested

with

real-world

EMR

data

with

success.

Furthermore,

tools

to

interactively

mine

and

visualize

EMR

data

may

expose

data

quality

issues

that

might

have

otherwise

left

hidden

in

the

database.

Care

Pathway

Explorer

also

currently

focuses

on

finding

patterns

among

clinical

events

of

a

temporal

nature.

However,

there

is

an

opportunity

to

determine

how

these

analytics

can

be

expanded

to

handle

other

types

of

patient

information

(e.g.

age,

gender,

ethnicity)

are

needed

to

see

if

stronger

correlations

could

be

found

for

specific

patient

profiles..

Despite

these

current

limitations,

our

results

suggest

that

Care

Pathway

Explorer,

which

automatically

combines

frequent

sequence

mining

techniques

with

advanced

visualizations,

supports

the

integration

of

data-driven

insights

into

care

plan

templates.

As

institutions

evolve

to

handle

the

creation

of

more

personalized

care

plan

templates,

these

techniques

will

be

valuable

to

ensure

those

new

templates

reflect

best

practices

learned

from

past

treatment

actions

and

associated

outcomes

on

similar

patients.

In

order

to

evaluate

the

utility

of

Care

Pathway

Explorer,

we

conducted

a

long-term

case

study

of

a

real

physician

using

real-world

datasets

to

demonstrate

its

effectiveness

at

reaching

insights

in

practice.

Research

in

the

visualization

community

suggests

that

traditional

evaluation

metrics

(e.g.

measuring

errors

or

task

time

completion)

are

often

insufficient

to

evaluate

visual

analytics

systems

designed

for

data

exploration

Instead,

we

chose

to

use

the

evaluation

methodology

developed

by

Perer

and

Shneiderman

and

conducted

a

long-term

case

study

with

Dr.

Robert

Sorrentino,

the

Chief

Medical

Officer

of

Providence

Medical

Foundations..

Dr.

Sorrentino

was

interested

in

analyzing

patterns

mined

from

patients

with

hyperlipidemia.

Hyperlipidemia

is

a

common

chronic

condition

and

several

large

clinical

trials

have

identified

LDL

(Low

Density

Lipoprotein)

as

one

of

the

major

predictors

of

heart

disease.

While

there

are

various

medications

for

lowering

LDL

levels,

comprehensive

guidelines

on

the

most

effective

intervention

are

still

lacking,

particularly

for

patients

with

multiple

comorbidities.

Analyzing

treatment

patterns

and

associated

outcomes

of

such

patients

could

provide

valuable

insight

into

how

to

customize

the

general

guidelines

to

achieve

better

outcomes.

Dr.

Sorrentino

was

thus

interested

in

analyzing

the

patterns

consisting

of

all

medication

events,

as

well

as

diagnosis

events

related

to

hyperlipidemia.

The

groups

of

the

diagnosis

codes

mined

with

Care

Pathway

Explorer

are

described

in

Table

As

illustrated

in

Fig.

events

were

mined

for

a

time

period,

beginning

with

the

patient's

diagnosis

of

hyperlipidemia.

In

order

to

determine

the

patient

outcomes

associated

with

treatments,

we

analyzed

the

following

the

time

period,

and

computed

the

average

LDL

cholesterol

levels

according

to

the

patient's

lab

results.

As

recent

research

suggests

that

the

target

LDL

level

should

be

mg/dl,

we

classified

patients

with

an

average

LDL

of

or

less

to

be

labeled

as

a

positive

outcome,

and

patients

with

an

average

over

to

be

labeled

as

a

negative

outcome..

Initially,

patterns

were

mined

from

patients

with

hyperlipidemia.

This

population

was

balanced,

so

of

these

patients

had

positive

outcomes.

The

patients

had

a

total

of

diagnosis

events

and

medication

events

during

their

first

year

after

diagnosis.

However,

few

sequence

patterns

were

found,

even

when

setting

the

support

to

a

low

threshold

such

as

The

patterns

that

were

found

are

displayed

in

Fig.

Dr.

Sorrentino

speculated

that

by

including

all

patients

that

simply

had

a

hyperlipidemia

diagnosis,

the

diversity

of

the

types

and

order

of

clinical

events

these

patients

had

would

vary

greatly,

and

that

interesting

patterns

might

be

lost

due

to

the

extremely

low

support..

However,

Dr.

Sorrentino

hypothesized

that

if

he

focused

on

specific

sub-cohorts

with

pre-conditions,

the

analysis

might

lead

to

additional

insights.

He

decided

to

investigate

two

pre-conditions:

hypertension

and

diabetes.

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


Bootstrap methods for bias correction and confidence interval estimation for nonlinear quantile regression of longitudinal data This paper examines the use of bootstrapping for bias correction and confidence interval calculations for a weighted nonlinear quantile regression estimator, adjusted to the case of longitudinal data. Different weights, bootstrap methods and types of confidence intervals are used and compared by computer simulation using a four-parameter logistic growth function and error terms following an AR(1) model. Finally the methods are applied to a data set with growth patterns of two genotypes of soybean. It is found that the bias correction reduces the bias, but has the disadvantage of increasing the risk of getting crossing quantile regression curves, and that the bootstrap percentile method and the normal approximation method perform well when used without bias correction. When increasing the autocorrelation in the AR(1) model, the length of the confidence intervals decreases. Longitudinal or repeated measurement data is defined by the characteristic that there are several subjects participating in the study and each subject is measured several times at several time points. This distinguishes it from cross-sectional data, where each subject is observed only once and at one specified time point. The characteristic of having several time series, which often are quite short, also distinguishes longitudinal data from ordinary time series, where usually have only one single long series is studied. Longitudinal data often occur in such applied sciences as medicine and agricultural science. The focus of interest for the scientist is often in how some variable changes over time, for example the pattern of growth for the subjects. This paper has examined the use of bootstrapping for reducing bias and calculating confidence intervals for a weighted nonlinear quantile regression estimator for longitudinal data using simulation methods. Two different paired bootstrap methods have been used, one where the dependence of the data is disregarded and the bootstrap resampling is performed as if all observations for all subjects where independent, P B I , and one where the dependence of the data forms the basis of the resampling, P B D . For the latter, the bootstrap is performed by resampling the pairs (y i , X i ) of dependent and independent variables consisting of all observations for a subject.. Three different weights were considered for the weighted nonlinear quantile regression estimator: the unweighted alternative weight i, using the same weight for all time points and subjects, weight ii, which weights the observations with regard to the dispersions over the time points for the individual subjects, and weight iii, that weights the observations with regard to the dispersions over both time points and subjects. Of these where all three used with P B D but only weight i with P B I , since the other weights could not be used with this bootstrap method.. For the bootstrap based bias correction it was found that bootstrap method P B I performed badly in improving bias, in fact, overall the bias deteriorated when using P B I . However, the bootstrap method P B D performed well, with overall somewhat improving biases for all weights used. Overall, weight iii had the lowest bias, followed by the unweighted alternative weight i. It is also found that, overall, the bias improvements increases with values of q further away from the median, and that the bias improvements decreases with increasing ρ.. Regarding the bootstrap based confidence interval calculations, four alternatives were used: the normal approximation method CI N , the bias corrected normal approximation method CI NBC , the percentile method CI P and the bias corrected percentile method CI P BC . These were compared for calculations of 95 percent confidence intervals. The bias corrected methods CI NBC and CI P BC performed bad for all weights and both bootstrap methods P B I and P B D , with true coverage percentages usually below the nominal 95 percent level. But weight i, using P B I or P B D , and weight iii for P B D , performed well for both the normal approximation method CI N and the percentile method CI P , with all or nearly all confidence intervals having a true coverage of at least the nominal 95 percent level. Overall, weight i using P B D for percentile method CI P performed best in terms of coverage and length of confidence interval, followed by weight iii for percentile method CI P . It is also found that values of q further away from the median leads to longer confidence intervals, while increasing the correlation ρ leads to shorter confidence intervals.. The use of bootstrapping for reducing bias and calculating confidence intervals for a weighted nonlinear quantile regression estimator is also applied to a real longitudinal data set with growth patterns, measured as leaf weight per plant, of two genotypes of soybean, where nonlinear quantile regressions are calculated for the nine quantiles q = 0.1, 0.2, ..., 0.9. For this application is weight i used with bootstrap method P B D , and confidence intervals calculated using the percentile method CI P and the normal approximation method CI N . It is found that using bias correction leads to some problems for this case. One problem is that when using bias corrected parameter estimates for the quantile regression one sometimes get crossing quantile regression curves. Another problem is that the bias corrected parameter estimates sometimes are outside the limits of the confidence intervals for the percentile method CI P .. As a conclusion, with regards to the performance for both bias correction and confidence interval calculation, the following recommendations can be issued when performing nonlinear quantile regression estimation for longitudinal data: use either weight i or weight iii, without bias correction, and calculate the confidence intervals with the percentile method CI P using the bootstrap method P B D .. Vonesh, E. F. and Chinchilli, V. M. (1997 Tables 5.8 and 5.9 give the parameter estimates of the nine quantiles q = 0.1, 0.2, ..., 0.9 and the mean regression for the commercial variety Forrest (F ) and the experimental strain Plant Introduction No. 416937 (P), respectively. They also give the bias corrected parameter estimates using bootstrap method P B D . Figure 6 .1 show, for soybean type F, the mean (solid) and quantile (dotted, with median dashed) regression curves for the quantiles q = 0.1, 0.2, ..., 0.9, using the non bias corrected estimates from Table 5 .8, together with the original data points, while Figure 6 .2 show the same thing using the bias corrected estimates from Table 5 .8. Tables 6.1 -6.4 give 95 percent confidence intervals using the percentile and normal approximation methods with bootstrap method P B D .. First, comparing the original parameter estimates with the bias corrected parameter estimates it is seen that there are sometimes quite large changes. There are two main problems with the bias corrected parameter estimates. Since the parameter β 1 gives the asymptotic leaf weight per plant, increasing the quantile values q should also lead to increasing values of the parameter β 1 , so that two quantile regression curves never cross. This is true for the original estimates for both Forrest (F ) and Plant Introduction (P), as can be seen from Figure 6 .1 for Forrest, but not for the bias corrected parameter estimates. For Forrest, both quantiles q = 0.3 and q = 0.9 in Table 5 .8 have lower values than the preceding quantile, leading to crossing quantile regression curves, as can be seen from Figure 6 .1. From Table 5 .9 it can be seen that this is also the case for quantiles q = 0.4 and q = 0.9 for Plant Introduction. This is the first problem.. The second problem with the bias corrected parameter estimates is that, when using them together with the confidence intervals using the percentile method CI P in Tables 6.1 and 6.3, they are for several cases outside the confidence intervals. For example, the bias corrected parameter estimates for β 1 are below the lower confidence limits for both quantile q = 0.3 for Forrest and quantile q = 0.9 for Plant Introduction. Thus, the bias corrected parameter estimates could hardly be used together with the percentile method CI P for this case. Note, however, that this problem does not arise when using the normal approximation method CI N in Tables 6.2 and 6.4 instead.. Comparing the original parameter estimates for the commercial variety Forrest and the experimental strain Plant Introduction No. 416937 it is seen that β 1 (0.6) = 16.28 for Forrest and β 1 (0.1) = 16.97 for Plant Introduction. Thus we can conclude that 90 percent of the soybean plants from Plant Introduction have an asymptotic leaf weight that is larger than 60 percent of the soybean plants from Forrest. The values β 1 (0.9) = 19.69 for F and β 1 (0.6) = 21.15 for P tells us that 40 percent of the soybean plants from Plant Introduction have an asymptotic leaf weight that is larger than 90 percent of the soybean plants from Forrest.

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


Complex regulation of Hsf1-Skn7 activities by the catalytic subunits of PKA in Saccharomyces cerevisiae: experimental and computational evidences Background: The cAMP-dependent protein kinase regulatory network (PKA-RN) regulates metabolism, memory, learning, development, and response to stress. Previous models of this network considered the catalytic subunits (CS) as a single entity, overlooking their functional individualities. Furthermore, PKA-RN dynamics are often measured through cAMP levels in nutrient-depleted cells shortly after being fed with glucose, dismissing downstream physiological processes. Our results clarified the control of Hsf1 and Skn7 by the PKA-RN, demonstrating that in the W303 strain, PKA represses Hsf1 and also Skn7 via Ssa1, Ssa2 and a third unidentified repressor. No single component of the PKA-RN could be used to predict accurately the experimental levels of downstream targets (i.e., HSEdependent gene expression) in all the situations studied. Instead, modeling of the PKA-RN showed that the observed experimental dynamics arose from the complex interactions of the network making it necessary to analyze the system as a whole. It remains to be unveiled the exact molecular mechanisms by which the PKA CS inhibit Hsf1 and Skn7 activities. Our results indicate that such mechanism must exist and it depends on Ssa1, Ssa2, and at least a third unidentified repressor. During PKA-RN controlled processes, such as pseudohyphal growth and iron uptake, the PKA CS display similar antagonistic relationships to those observed during the control of HSE-dependent gene expression. Tpk2, but not Tpk1 or Tpk3, is required for the induction of pseudohyphal growth and for the inhibition of genes involved in iron uptake [61, 68, 69] . Additionally, the fact that various updating and averaging schemes produced essentially the same results is quite interesting (Additional file 2: Figure S3 ), as this means that the WDM really captured the population average in batch cultures regardless of the specific updating scheme. To our knowledge, this is the first model with this property. Thus, with simple modifications, it can pave the way for the analysis of many other cellular responses at the population level apart from the PKA-RN. The cyclic AMP (cAMP)-dependent protein kinase (PKA) regulatory network (PKA-RN) is found in protozoa, animals, algae, and fungi. It plays a central role in the control of different inter-and intra-cellular processes such as metabolism, cell proliferation, stress response, and development [57, 84] . In yeast, the PKA-RN is also involved in the control of growth in response to nutrient conditions, which in turn are known to influence the stress response [84] .. In S. cerevisiae, the PKA holoenzyme forms an inactive tetramer composed of two regulatory subunits (2 x Bcy1) [85] and two out of three CS (Tpk1, Tpk2, or Tpk3) [86] . When intracellular concentrations of cAMP increase, Bcy1 binds cAMP, promoting the activation by release of the CS. Two proteins, Gpa2 and Ras2, regulate adenylate cyclase, which catalyzes the synthesis of cAMP [14, 43, 84] . Formation of a Ras2⋅GTP complex [22] , the active state of Ras2, requires the GDP-GTP exchange activity of Cdc25 [6] . Moreover, the intracellular concentrations of cAMP are also controlled by the phosphodiesterases Pde1 and Pde2 [84] . The low affinity phosphodiesterase Pde1 reduces cAMP levels in nutrient depleted cells soon after glucose addition [55] , whereas the high affinity phosphodiesterase Pde2 lowers cAMP levels during the exponential and stationary phases of growth [62] . It is thought that the activity of the pathway increases at high levels of glucose (or other rapidly fermentable sugars) and declines when the cells deplete the sugars, or when entering stationary phase [84] . Therefore, the PKA activity is influenced by the amount of fermentable sugars and by the growth phase of the culture.. The growth phase of yeast liquid cultures impacts their level of thermotolerance. For instance, during the exponential phase cells are stress sensitive, whereas during the stationary phase they develop stress resistance [67, 91] . This behavior has been studied using genetic analysis. Stress resistance is explained through a reduced activity of the Ras-cAMP branch of the pathway (such as in cdc25Δ, cyr1 or ras1 ras2 ts strains). These mutants grow slowly and show elevated basal thermotolerance during exponential phase [23, 25, 42, 64, 83] . In contrast, mutants with high PKA activity, such as ira2, pde2, bcy1 or RAS2 val19 , are very sensitive to temperature stress [19, 55, 62, 84, 87] . In exponential phase, basal thermotolerance is negatively regulated by the Rim15 protein kinase [67] . However, acclimation to high temperatures during the exponential phase requires the concerted action of Hsf1 and Msn2/Msn4 transcription factors, and chromatin remodeling complexes such as SWI/SNF [3, 18] . These factors allow the rapid transcription of genes encoding stress proteins involved in prevention and repair of damages caused by stress [3, 19, 33] .. Hsf1 transcription factor is encoded by a single gene [76] and shows high affinity for the heat shock elements (HSE), found in the promoters of the heat shock genes [21] . The essentiality of Hsf1 indicates that -besides being important for the response to carbon starvation as well as heat, osmotic, and oxidative stress -it also plays important functions in normal growth [3, 4, 76, 81] . The widespread functions regulated by Hsf1 explain its binding to a large number of promoters (about 3 % of the genes in the yeast genome). Among the functions of its targets are: protein folding, degradation, trafficking, cell integrity maintenance, transport, signaling, and transcription [33] . Hsf1 contains DNA binding and trimerization domains and is hyper-phosphorylated in serine and threonine residues in response to heat and oxidative stress [39, 76] , modifications that activate its transcriptional activity [39, 76] . The PKA constitutively represses the activity of Hsf1, thereby inhibiting the expression of small heat shock protein genes [20] . It is documented that, in this regulation, the CS of PKA do not interact directly with Hsf1 [20] . Moreover, when the activity of the PKA is low, such as during glucose starvation, Hsf1 is phosphorylated and activated by Yak1 and Rim15 kinases [50, 51] . However, the factors that mediate the regulation of Hsf1 by the PKA in glucose-rich media, and in response to heat shock, are still unknown. In addition to Hsf1, Skn7 also recognizes HSE elements [66] and is part of a two-component system required for the signaling of the hypo-osmotic stress and the oxidative stress pathways [49, 82] . Previous reports have shown that the activity of Skn7 during the oxidative stress response is negativelyregulated by the PKA-RN [10] .. Recently, it has become evident that results based only in experimental approaches, and the static models derived from them, are not sufficient to fully understand the complex dynamics of a cellular system. Rather, the integration of experimental data with dynamical modeling has expanded our current knowledge of the cell by enabling the prediction of hidden cellular behaviors. Thus, computational modeling is becoming an indispensable tool to comprehend the organization of biological systems [48, 80] and the analysis of the dynamics of the PKA-RN is no exception. Some studies of the PKA-RN considered only its core components and focused on the feed-back regulation of cAMP levels that nutrient-depleted cells display during the short-term response (i.e., seconds) to a pulse of glucose [8, 63, 93] . More recently, PKA-RN models simulate long-term growth (i.e., hours) in glucose [28] and evaluate targets downstream of the PKA [24, 29] . However, in all these models the activity of the three CS (Tpk1, Tpk2, and Tpk3) is considered as a single entity, assumption that might be correct in certain scenarios. Nonetheless, in most situations, this assumption could be misleading, as it is known that each CS has unique target specificities [65] . Furthermore, the CS regulate certain physiological processes in an antagonistic fashion [61, 68, 69] , complicating even more the prediction of the dynamics of the PKA-RN.. In this work, we performed a genetic analysis of the Cdc25-Ras2 branch and some downstream components of the PKA-RN (Fig. 1) . We then incorporated these results into a dynamic computational model, to further understand the mechanistic nature of the network. HSEdependent gene expression was chosen as the end product of the PKA-RN and the performance of cells growing exponentially in glucose-rich media, both at optimal temperature and in response to heat shock, was evaluated. We tested how the different PKA subunits (regulatory and each CS) interacted with each other. Novel interactions, in addition to those already known, are described. Computational modeling of the PKA-RN was performed by extending the well-established "discrete dynamics modeling framework" [1, 38, 71, 90] in order to take into account the fact that gene expression measurements of batch cultures average out individual expression patterns. We named this extension, the Windowed Discrete Model (WDM) because it averages over a given time window the discrete values of the network elements in a given attractor, and weighs this average by the size of the corresponding basin of attraction. This process incorporates the whole set of steady states of the network and captures the inherent averages in In this scheme Cdc25, Ras2, Cyr1, Tpk1, Tpk3, Hsf1, and Skn7 act as positive regulators. Bcy1, an unidentified repressor of Hsf1/Skn7 (Repressor X), cAMP, and heat shock act as repressors. Interestingly, in this scheme Ssa1, Ssa2, and Tpk2 interactions are complex acting both as activators and as repressors. The experimental evidence that accounts for the activities and interactions of the components is described in the Background and Results and discussion sections population measurements. Although discrete dynamic models are intended to describe expression patterns at the single-cell level, our approach allowed us to make quantitative predictions of gene expression patterns taken at the population level for both WT and mutant strains. Furthermore, we showed that when the population average inherent to batch cultures was implemented in the WDM, the results were similar regardless of the use of synchronous or asynchronous updating of the network elements.. Our genetic analysis showed that the PKA-RN controls HSE-dependent gene expression via Hsf1/Skn7 transcription factors. Modeling the control of Hsf1-Skn7 by the PKA-RN predicted the existence of a repressor connecting the CS with Hsf1-Skn7 and encouraged new genetic analyses that proved that Ssa1 and Ssa2 chaperones repress Hsf1/Skn7 when activated by the CS of PKA. Additionally, novel functions of Skn7 and of the C-terminal domain of Hsf1, such as growth control, thermotolerance, and resistance to H 2 O 2 , were revealed whenever the activity of PKA was low. Our model also predicted the existence of a still unidentified third repressor of Hsf1/Skn7, active only in the absence of Tpk2. The WDM explained and predicted HSE-dependent gene expression in WT and mutant strains with and without high temperature stress. We believe that our WDM of the PKA-RN can be useful to simulate other biological processes where the CS of PKA show similar antagonistic interactions, such as in the control of pseudohyphal growth or iron uptake [61, 68, 69] .. Without further adaptations, the WDM is, to our knowledge, the first suitable tool based on discrete dynamics that can be used to simulate data obtained from population level measurements (batch cultures), despite of their known heterogeneity at the physiological and gene expression levels [23, 40, 53] .

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


Bypass Extended Stack Processing for Anti-Thrashing Replacement in Shared Last Level Cache of Chip Multiprocessors Chip Multiprocessors (CMPs) allow different applications to share LLC (Last Level Cache). Since each application has different cache capacity demand, LLC capacity should be partitioned in accordance with the demands. Existing partitioning algorithms estimate the capacity demand of each core by stack processing considering the LRU (Least Recently Used) replacement policy only. However, anti-thrashing replacement algorithms like BIP (Binary Insertion Policy) and BIP-Bypass emerged to overcome the thrashing problem of LRU replacement policy in a working set greater than the available cache size. Since existing stack processing cannot estimate the capacity demand with anti-thrashing replacement policy, partitioning algorithms also cannot partition cache space with anti-thrashing replacement policy. In this letter, we prove that BIP replacement policy is not feasible to stack processing but BIP-bypass is. We modify stack processing to accommodate BIP-Bypass. In addition, we propose the pipelined hardware of modified stack processing. With this hardware, we can get the success function of the various capacities with anti-thrashing replacement policy and assess the cache capacity of shared cache adequate to each core in real time. performance for high locality workloads. However, it can show thrashing behavior for a working set greater than the available cache size. To alleviate thrashing problem, BIP (Bimode Insertion Policy) [4] inserts most of new cache blocks to the LRU position to preserve the cache contents and inserts the rest of new blocks to the MRU position to adapt to working set changes. BIP-Bypass [4] bypasses new blocks instead of inserting them to LRU position.. In TADIP [2] , each core determines whether or not it use LRU or BIP as a replacement policy to attack thrashing problem in CMP. However, TADIP cannot partition the shared cache and each core cannot preserve its working set in cache space.. Until now, there is no cache partitioning method with anti-thrashing replacement policy, since there is no stack processing method for anti-thrashing replacement policy. In this letter, we prove that BIP is not feasible to stack processing but BIP-Bypass is. In addition, we modify stack processing to accommodate BIP-Bypass, and we propose new hardware to implement stack processing for BIP-Bypass. BIP and BIP-Bypass are anti-thrashing replacement policies. In this letter, we proved that BIP replacement policy is not feasible to stack processing but BIP-bypass is. We modified stack processing to accommodate bypass, and we proposed the pipelined hardware architecture of stack processing for BIP-Bypass. With this hardware, we can assess the capacity demand of each core with anti-thrashing replacement policy in real time. Using this information, shared cache can be partitioned by anti-thrashing replacement policy as well as LRU replacement policy.

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


Using CSIM to model complex systems Simulation models of complex systems, defined here to be systems with large number of activities or resources or with activities which exhibit complex behavior patterns, make severe requirements on simulation packages. These requirements are in the form of expressiveness (can you express the complexity in the language of the model?) and in the form of accommodation (can the runtime environment handle the large number of simulation objects?). This paper describes CSIM, a process-oriented simulation language based on C, and the features of CSIM which make it useful in developing and executing models of complex systems. Complex systems, in the context of this paper, are systems which exhibit one or both of two properties: (I) the system is large, with possibly thousands of resources and/or activities, or (2) the behavior of activities is complicated, in the sense that travel routes are complicated or the use of resources is complicated. The ability of a simulation package to model such systems is constrained by a number of factors, including the capacity to accommodate large system models, the ability to execute models in a "reasonable" length of time, and, most importantly, the capability for expressing complicated activity behaviors.. Process-oriented simulation (Franta 1977 , Saydam 1985 is a form of discrete event simulation which lets the model implementer focus on the activities being processed by a system, as opposed to the systems events which are the focus of event oriented simulation. Several languages have been designed to support process-oriented simulation, including GPSS (Gordon 1978) , Simula @ah1 and Nygaard 1967), SLAM II (Pritsker and Pegden 1979) . Simscript II.5 (Law and Kelton, 1982) , ASPOL (MacDougall and McAlpine 1973 , MacDougall 1974 , and MacDougall 1975 RESQ (Sauer and Ma&air 1983) and PAWS (IRA 1987) . More recently, another process-oriented simulation language, called CSIM, has been introduced (Schwetman 1986).. Whenever a new simulation language or package appears, several questions naturally arise, questions such as:. 1. How is this language similar to and, also, different from other such languages? and This paper has presented some of the features found in the CSIM simulation package which enable CSIM programs to model the structure and behavior of complex systems. In particular, large systems, with large numbers of resources and/or large numbers of processes can be accommodated. In addition, models with dynamic and possibly complex behaviors can be developed. The ability to model dynamic behaviors comes from the flexible process structure. The ability to model complex behavior comes from having the full power of the C programming language as a subset of CSIM.. CSIM has been used to model a wide variety of systems. At MCC, most of these have been models of computer systems. Some of these are described in papers given in the List of References (Alexander et. al. 1986 , Alexander and Copeland 1988 , and Boughter et. al. 1987 . Other CSIM programs have modeled communications protocols, disk subsystems and database systems. In most of these projects, the ability to write C programs which could easily accommodate process oriented simulation turned out to be a powerful tool. The flexibility of having a full featured programming language combined with the ease-of-use of process-oriented simulation has both simplified the development effort and enhanced the usefulness of these models.

O O O B O B B O O O B O O O O B O O O O O O O O O O O O O B O O O B O B O O B O O O O O O O O B O B O O B O O B O O O O O O O O B O O O O O O B O O B O O O O B B O O O O O O O O O O O O O O O O O O O B O B O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O B B O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O B O O O O O O B O O O B O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O B O B O O O O O O O O O O B O O O O O O O O O O B O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O


Efficient glossy global illumination with interactive viewing Abstract Real-world scenes contain materials with different reflective properties, varying from matte (diffuse) to shiny (glossy or specular). Global illumination research has made great advances for the treatment of diffuse environments in recent years, in particular with the advent of the Hierarchical Radiosity (HR) algorithm 8 and the subsequent introduction of clustering 21 16 . It is now possible to compute global illumination solutions of complex diffuse environments and perform interactive walkthroughs of the result. Interactivity is achieved using the polygonal model which is appropriately subdivided into sub-polygons to capture shadows and lighting variations. Since the environments are diffuse, no updates are necessary at each frame, and the polygons are drawn as is. In contrast, scenes containing glossy surfaces cannot yet be treated in an interactive context. To generate images with glossy surfaces, ray-tracing based approaches are typically used, such as the RADIANCE system 30 or path-tracing algorithms (e.g., 12 26 ). Some finite element approaches have been presented, but can only treat trivial † iMAGIS is a joint research project of CNRS/INRIA/UJF /INPG.. scenes (e.g., 14 1 ) or require a second, ray-casting pass to generate an image 3 . Other approaches have been proposed which are capable of interactive viewing 17 18 28 , but they are limited in their capacity to treat non-trivial environments and reflective behaviours.. We present a novel solution which allows interactive viewing of globally illuminated glossy scenes. To achieve this goal, we use a finite element representation of outgoing radiance at surfaces or clusters. This representation is used at each frame to evaluate the radiance leaving a glossy surface and reaching the eye, permitting interactive viewing. The usage of a finite element representation for exitant light implies that the method is better suited for rough glossy surfaces, but not for highly specular or even mirror-like ones.. A novel representation of incoming radiance in the form of a structure called Illumination Samples is presented, which is efficient both in memory and computation time. This structure replaces an explicit (and costly) finite-element representation of incoming radiance by sets of relevant point samples.. Furthermore, we demonstrate the importance and benefits of using an adaptive hierarchical representation of outgoing radiance improving on both computation time and memory consumption compared to previous approaches such as that of Sillion et al. 18 Our algorithm produces high quality glossy global illumination solutions which can be directly rendered for interactive walkthroughs, without the need for expensive second-pass final gather as in the work of Christensen et al. 3 We have presented a novel solution to global illumination simulation for glossy environments. Our new algorithm is an important step towards interactive walkthroughs of globally illuminated glossy scenes: (i) We introduced the Illumination Samples algorithm which represents incoming light more accurately and efficiently, both in memory and computation time.. (ii) We have used an adaptive hierarchical finite-element basis to store outgoing light, in a manner suitable for interactive viewing. This allows fine control of the memory/quality tradeoff, which was not possible in previous solutions. (iii) These algorithms can be implemented with marginal effort over an existing hierarchical radiosity system, by confining the modifications to a small number of phases and data structures. (iv) Interactive viewing of the glossy global illumination solutions is achieved by suitably refining the directional representation of outgoing light and accelerating the display process.. Our solution however is still quite memory-consuming requiring in the order of tens of Mbytes for the smallest scenes and hundreds of Mbytes for the more complex.. An obvious weakness of the proposed method is the separate refinement of the patches and the directional intensity functions. We hope to achieve a more efficient algorithm by coordinating these two types of refinement. Such an improved refiner should also better take into account the requirements of interactive viewing, in order to provide a subdivision of directions which is both efficient and amenable to smooth interpolation for interactive viewing. Note that in our approach propagation and reflection are completely decoupled. Propagation computation does not consider the reflection properties of the receiver, e.g. by computing the incident light of a highly glossy patch more accurately than in the diffuse case. How this glossiness of a patch should be measured and then used to guide the accuracy of the computation, is still an open question, though. The spatial refinement of the patches is done during propagation, while the refinement level of the directional distributions is chosen during reflection. This distinction does not impose a problem on convergence, but it results in memory/computation savings.. Illumination Samples can be interpreted as Dirac-peaks from a particular direction describing incident light and are thus somewhat similar to the photons in the Photon Map approach of Jensen et al. 9 However, Photon maps are not deter- With respect to a standard norm, with Dirac-peaks no convergent representation can be obtained. On the other hand, the Dirac-representation is only used to compute the reflection integral. From another point of view, this representation can be seen as intermediate data in a delayed numerical integration, where each Illumination Sample is a temporarily stored integration sample. So as long as the BRDF is numerically integrable, the computed reflection will converge.. The artifacts resulting from the Dirac-representation as well as the convergence of the solution due to spatial refinement are depicted in Figure 4 . It shows a very simple scene of an area light and a highly glossy reflector, rendered with three decreasing error threshold values. In order to make the artifacts more visible, no smoothing is performed. It can be clearly seen how the area light is represented by 4, 16 and 64 Illumination Samples and how the reflection converges.. For a more diffuse reflector, the artifacts would be much less visible because of the larger splats. This demonstrates that light propagation towards a highly glossy patch should be subdivided finer than towards a diffuse patch. However, this requires an estimation of the glossiness of a patch and an appropriate refinement strategy. We have not pursued this issue further. Most previous work in glossy illumination has been centered around ray-tracing. These start with distributed raytracing 31 5 and the rendering equation 10 in the late eighties. A large body of research ensued focusing on Monte-Carlo stochastic algorithms. The goal of this research was to reduce the noise in the solutions, introduced by the stochastic nature of the Monte-Carlo methods (e.g., 25 12 15 ). MonteCarlo algorithms that proved to be useful in other research areas were successfully transferred to the global illumination problem. 11 27 In parallel, several multi-pass methods have been developed which combine the advantages of ray-tracing and radiosity-style calculations; 19 others have integrated radiosity calculations in a stochastic process. 2 The RADIANCE system, 30 particle tracing 13 and photon-maps 9 are also interesting since they collect samples of illumination either on surfaces or in a separate structure, and use a ray-cast or trace to render the final image.. "Pure" finite element approaches for glossy illumination have appeared in two main flavours: three-point approaches 1 14 and finite-element approaches using directional distributions. 18 3 We concentrate on the last two methods in more detail, since they are closer to our new algorithm.

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


Orthophoto feature extraction and clustering In this article we use a combination of neural networks with other techniques for the analysis of orthophotos. Our goal is to obtain results that can serve as a useful groundwork for interactive exploration of the terrain in detail. In our approach we split an aerial photo into a regular grid of segments and for each segment we detect a set of features. These features depict the segment from the viewpoint of a general image analysis (color, tint, etc.) as well as from the viewpoint of the shapes in the segment. We perform clustering based on the Formal Concept Analysis (FCA) and Non-negative Matrix Factorization (NMF) methods and project the results using effective visualization techniques back to the aerial photo. The FCA as a tool allows users to be involved in the exploration of particular clusters by navigation in the space of clusters. In this article we also present two of our own computer systems that support the process of the validation of extracted features using a neural network and also the process of navigation in clusters. Despite the fact that in our approach we use only general properties of images, the results of our experiments demonstrate the usefulness of our approach and the potential for further development. In the last two decades there have been many different methods proposed and implemented for the analysis of aerial photographs. Aerial data are one of the standard sources for the extraction of topographic objects. Classic applications include the detection and extraction of roads and buildings. Advances in the development of remote sensing devices increase the need timely and accurately to detect and extract various objects with increasing precision. It may also include other topographic objects such as forests and vegetation, agricultural use and parcel boundaries, hydrography, etc. Currently, this field of analysis falls under the paradigm of Object-based Image Analysis (OBIA), which is a sub-discipline of geoinformation science devoted to partitioning remote sensing imagery into meaningful image-objects with a focus on the generation, modeling and classification of these objects (see [4] ).. Existing methods can be classified in different ways. One possibility is to divide them into two groups -automatic and semi-automatic. Semi-automatic methods -as opposed to the automatic ones -require human intervention, especially when tuning algorithms and judging results. Because of the many influences that contribute to the quality of aerial imagery, we usually cannot fully rely on automatic methods. This is expressed in a strong tendency to combine different methods and algorithms for solving various problems.. As will be described in detail in the following text, in our approach we proceed in the same way. For a description of images we use a set of general features (we do not use any knowledge base of known objects for extraction). These features are detected by a set of specific algorithms. We use a neural network for tuning these algorithms. The features are then detected automatically. To assess the quality of the detection we use our own application that incorporates the neural network again. This application visualizes how the system assesses a particular images. In the case of discovered inaccuracies, the user can retroactively affect the parameters of the automatic feature detection. Particular images are represented as vectors containing the values of individual features. The second automated step is to perform clustering and reflect the clusters back to the aerial image. After this automated procedure, it is the user's turn again. Here we have our other application, in which the user can explore a cluster of similar segments of an aerial image and search for objects of interests. The whole scheme is depicted in Fig. 1 .. In the following section, we discuss related approaches. The third section contains a description of features in our detection system, while the fourth section recalls some basics of the tools and techniques used in the fifth section, which is focused on our experiment with orthophotos.. Remark The authors of this articles have participated in the development of a commercial Document Management System, which is used in several institutions in the Czech government. This system contains an image search module based on image features. There are thousands of still images stored in the DMS system (e.g. photos, scanned documents, plans, maps, logotypes, clip-art, etc.). After deploying the system and migrating the data, we discovered that from a user's point of view there are significant inaccuracies. Regardless of the parameters of the analysis having been tuned using a test dataset, we had to address the issue of detecting the bottlenecks in our settings. The result was the proposal of a process based on the use of the Formal Concept Analysis and Non-negative Matrix Factorization. This application of our image analysis system (using some of the below mentioned methods) is described in paper [9] . Using several mathematical models and methods, such as neural networks, FCA and NMF, we have developed and described a system which can analyze orthophotos, detect user-oriented features in the photos, visualize the structure of the region and allow the user to effectively navigate through different types of segments of the region. We have investigated the similarities between different image segments and sources of these similarities in different kinds of maps. A promising area seems to be the study of how the computed characteristics change, for example by comparing orthophotos of the same region from different time periods.

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