Heracles II: Conditional Constraint Networks For .

2y ago
25 Views
3 Downloads
609.61 KB
10 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Esmeralda Toy
Transcription

Heracles II: Conditional Constraint Networks for Interleaved Planning andInformation GatheringJosé Luis Ambite, Craig A. Knoblock,Maria MusleaSteven MintonFetch Technologies,2041 Rosecrans Ave., El Segundo, CA 90245, USAInformation Sciences InstituteSteve.Minton@fetch.comUniversity of Southern Californiahttp://www.fetch.com/4676 Admiralty Way, Marina del Rey, CA 90292, USA{ambite, knoblock, ractHarnessing the increasing amount of information availablethrough public and private networks to inform decisionmaking presents a considerable challenge. There is a critical need for a system that integrates and structures diverseinformation in support of the user tasks and goals. The system must focus on the relevant information, evaluate tradeoffs, and suggest courses of action to the user. Since wecannot ensure that all information and preferences can everbe captured by the system, the planning process should beconducted in a mixed-initiative fashion where the user canexplore different alternatives and override the system suggestions as needed. In this article we present Heracles II, aconstraint-based framework for interactive planning and information gathering. We describe the two contributions thataddress the limitations of previous work: (1) a hierarchicallypartitioned conditional constraint network representation thatmodels the task structure of the application domain, and (2) aconstraint propagation algorithm that supports flexible userinteraction. Heracles II is fully implemented and has beenapplied to several practical domains such as travel planningand geospatial information integration.IntroductionFor any activity there is a wealth of information availablethrough public and private networks. Unfortunately, suchinformation is distributed among many sites, with differentdata formats, schemas, and semantics. Moreover, information access per se is of limited value. What is needed isa system that integrates and structures diverse informationin support of the user tasks and goals. The system mustgather the relevant information, evaluate tradeoffs, and suggest courses of action to the user.As an example consider travel planning. There are numerous sites with relevant travel information: flight schedulesand fares (e.g., www.orbitz.com), hotel locations and rates(e.g., www.itn.com), car rental sites (e.g., www.hertz.com),weather information (e.g., weather.yahoo.com), maps androute planning (e.g., www.mapquest.com), airport parkingrates (e.g., www.airwise.com), etc. This information needsbe integrated with user preferences, such as preferred airlines or flying times (e.g., avoid red-eye flights), cost constraints, and company policies, such as allowable airlines,expense caps, per-diem or mileage reimbursement rates. Although the user can visit these sites and take into accountall the constraints and preferences manually, it is extremelytedious, error-prone, and time-consuming. A system thatqueries the remote sites, accesses local information, and enforces the constraints and preferences is much more desirable. Planning support and interactivity are the main requirements for this kind of systems. In order to supportplanning, the system must (1) gather and integrate the information in a coherent structure that captures the tasks neededfor the application domain, (2) evaluate tradeoffs and selectamong different alternative courses action, (3) allow the userto explore and override systems suggestions. To provideflexible interaction, the system must (1) allow the user toinput data or change choices at any time during the planningprocess, and (2) handle information sources which return results asynchronously.In this article, we present an approach to mixed-initiativeplanning and information gathering based on conditionalconstraint networks (Mittal & Falkenhainer 1990) that addresses these challenges. The rest of the article is structured as follows. First, we discuss the limitations of closelyrelated previous work, including our own initial approach(Knoblock et al. 2001). Second, we describe the core contributions of Heracles II: (1) mapping the hierarchical taskstructure of the planning domain into a conditional constraint network, and (2) a constraint propagation algorithmthat ensures correct propagation in the presence of cycles,user interactions, and asynchronous sources. Third, webriefly discuss an HeraclesMAPS, and application of Heracles that integrates geospatial and online data. Finally, wediscuss related work, future work, and conclude.Background and Previous WorkOur own initial approach to mixed-initiative planning andinformation gathering was Heracles (Knoblock et al. 2001).Heracles models each piece of information as a variable in aconstraint network. The different pieces of information areintegrated using constraints. The resulting constraint network provides a coherent view of the user activities and captures the relevant information and user preferences.For any non-trivial user activity the number of variablesand constraints is very large. Thus, Heracles partitions thenetwork hierarchically corresponding to the task structureof the application domain, in a manner similar to Hierarchical Task Network (HTN) planning (Erol, Hendler, & Nau

1994). The application designer groups variables and constraints related to a distinct task into a package that we call atemplate. As an example consider the templates of Figure 1.Figure 1(a) shows the top level template of our travel planner, which includes the most important information aboutthe trip such as the dates of travel, origin and destination.The next layer of decisions include (1) the alternative meansof transportation, such as flying, taking a train, renting a car,driving the user’s own car, or taking a taxi; and (2) choicesof accommodation at the destination. Figure 1(a) shows thatthe system suggests to Fly. The variables and constraints related to flying constitute another template, which is shown inFigure 1(b). Each template is further decomposed into morespecific subtemplates. For example, once flying is chosen asthe main mode of transportation, the system needs to evaluate how to get to the airport: by taxi, driving one’s car andleaving it parked at the airport, and so on. Figure 2 showsthe task/template hierarchy for the travel planner.In Heracles the information gathered by the system orinput by the user is propagated automatically in the constraint network. Heracles also allows the user to overridethe values suggested by the system. For example, Figure 3shows the changes to the Taxi template when the user selectsa different departure airport in the Round Trip Flights template. Figure 3(a) shows the information relevant to going tothe airport by Taxi, including cost, time estimate, map, androute from the user location (USC) to Los Angeles airport(LAX). Figure 3(b) shows the user selecting Long Beachairport (LGB) instead of LAX. Finally, Figure 3(c), showsthe Taxi template reflecting this change including new cost,time, and maps.Heracles showed that a constraint-based approach waswell suited to support mixed-initiative planning where userinteraction and asynchronous information gathering werecentral requirements, but had two serious limitations. First,the template selection mechanism was hardcoded into theimplementation and not integrated with the constraint network. Template selection in Heracles was performed by aprocedure that inspected the values of distinguished variables called expansion variables. For example, the ModeToDestination variable in Figure 2 (labeled Outbound Modein Figure 1(a)) is an expansion variable that can take the values Fly, Drive, RentCar, or Taxi. Whenever an expansionvariable in a parent template was set, Heracles added thecorresponding child template to the constraint network andremoved the alternative (child) templates. This hardcodedbehavior meant that most of the logic for selecting amongtemplates needed to appear at the parent template, even ifsuch information logically belonged to the child templates.This diminished the modularity of templates and tended tocreate large, monolithic templates. The problem becomesever more acute the deeper the template/task hierarchy. Asecond limitation was that Heracles could not handle cyclesin the constraint network. This required the template designer to specify the constraints sometimes in an unintuitiveway or forego some lines of reasoning altogether.Heracles II provides solutions to these limitations whilepreserving the advantages of Heracles. First, Heracles II isuniformly represented as a conditional constraint network(a) Top-level template(b) Fly templateFigure 1: Travel planner eFlyTaxiORHotel NoOvernightRentCarAND123ModeToAirport FlightDetail ModeFromAirportORDriveTaxiORRentCarTaxiFigure 2: Hierarchical Organization of Templates

(a) Taxi template(b) User changes value in Round Trip Flights(c) Changes propagate to Taxi templateFigure 3: Travel planner: user interaction and constraintpropagationand template selection follows naturally from the evaluationof activity constraints. To ensure that all information relevant to the choice of templates/tasks is always consideredwe introduce the concept of a core network which is alwaysactive. Second, we designed a new constraint propagationalgorithm that can handle cyclical networks in the presenceof user interaction and asynchronous sources. In the following sections we describe these contributions in detail, butbefore that, it is instructive to consider other approaches tothe problem of combining planning, information gathering,and user interaction.The SmartClients system (Torrens, Faltings, & Pu 2002)uses constraint satisfaction to support the user in planningand information gathering. They also focus on travel planning as an application domain. In response to the user inputof origin, destination, and dates for a trip, SmartClients automatically compiles a constraint network to explore the possible trips. Torrens et al. assume that SmartClients can accessa remote database with flight information such as Sabre, sothat it can retrieve all the flights between the selected citiesin the given dates and populate the appropriate variables andconstraints in the network. Once the network has been initialized, SmartClients searches for a solution trip that satisfies all the constraints using classical constraint satisfactionalgorithms.There are several crucial differences between Heraclesand SmartClients. First, SmartClients retrieves all information beforehand assuming that the size of the relevant sections of the flights database can be compactly encoded andefficiently transmitted to the user client. However, this approach cannot scale to larger problems that incorporate abroader range of information sources. Retrieving all the relevant information, such as flights schedules, hotel locationand rates, rental cars, maps, etc, before the search starts isnot feasible. In contrast Heracles only accesses the externalsources as the planning process proceeds, and for those values that are already part of a consistent partial solution. Themore focused search of Heracles is more scalable and allowsfor an arbitrary exploration of the information space.Second, the user can interact with Heracles at any pointduring the planning process and can change the values ofvariables throughout the network resulting in arbitrary retrievals of external information. In the SmartClients approach the domains of the variables in the constraint networkare fixed initially, so the user can only explore solutions contained within such space (or needs to restart the whole constraint network construction and search process).Finally, SmartClients performs full constraint satisfaction, so it finds optimal solutions according to the user preferences. However, this in done in the smaller search spacedefined at initialization time. Heracles performs constraintpropagation and does not attempt to find an optimal solution.However, in Heracles the user can explore the full solutionspace with the latest information obtained in real-time fromexternal sources and understand the different tradeoffs. Inour experience letting the user guide the process toward adesirable plan interactively yields better results.A third approach to collaborative planning and information gathering is the Trip-planner agent framework (Homb et

al. 1999). Trip-planner is also based on a constraint networkthat integrates different sources related to travel planning. Inthe Trip-planner the user specifies his/her preferences at thestart of the planning process. During the constraint networkevaluation the system calls different sources guided by theuser preferences. The user is consulted again at predefinedpoints during planning. For example, after the ten cheapestflight have been found the user is prompted to select one.However, the user cannot interact with the constraint reasoner at any point during constraint evaluation as Heraclesallows.In summary, previous approaches are limited in one ormore of our requirements for a uniform framework thatcombines user interaction, information gathering, and planning/constraint reasoning capabilities. Table 1 compares theapproaches. Heracles satisfies all three requirements, but itwas limited as we described above, thus our development ofHeracles II. SmartClients excels in reasoning with the datausing full constraint satisfaction, but it gathers all information at initialization time. Trip-planner does interleave constraint reasoning with information gathering, but the choicesfor the user to impact planning are quite limited. Finally,note that travel web sites like Expedia, Travelocity, or Orbitz provide good support for information gathering and userinteraction. However, they lack support for an integratedview of the (travel) planning process that satisfies complexconstraints and preferences of the user.Heracles I, IISmartClientsTrip-plannerExpedia, etc.Planning/ le 1: Comparison of approachesConditional Constraint Networksand Hierarchical PlanningThis section describes the first contribution of this article,namely, the formalization of hierarchical planning in Heracles II as a conditional constraint network. First, we describethe hierarchical partitioning of the Heracles II constraint network. Second, we show how we map this hierarchical decomposition into a conditional constraint network. Finally,we describe how template selection follows naturally fromthe evaluation of the activity constraints in the network.As the complexity of a planning domain grows designingand maintaining a monolithic network becomes infeasible.Similarly, presenting a large network for the user to interactwith quickly becomes unmanageable and confusing. Thus,in Heracles II we group the variables and constraints relatedto the performance of a task into a unit called a template.Template Specification. A template is comprised of aname, arguments, variables, constraints, and expansions.The name uniquely identifies the template. The argumentsspecify the input variables, those that receive values fromother templates, and the output variables, those whose values are used in other templates. All other variables are internal to the template. Each expansion specifies how a templateis elaborated into the appropriate subtemplates based on thevalue of a so-called expansion variable. Figure 4 shows afragment of the specification of the Fly template focusing onthe selectModeToAirport decision. The input variables include the OriginAddress, DepartureDate among others. Theoutput variables are SelectedFlight and FlyCost. The selectModeToAirport constraint selects the cheapest mode of transportation to the airport.Heracles II receives as input a set of declarative XMLtemplate definitions. Figure 4 shows some of the main constructs. The values of variables can also be XML objectswhich are processed using XQuery. A template also includesa declarative specification of the user interface. The constraint network can control which widgets are shown in theinterface depending on run-time values. A full descriptionof the XML syntax and the constraint-based control of theuser interface is outside of the scope of this article. template name "Fly" args in OriginAddress /in in DepartureDate /in . out SelectedFlight out/ out FlyCost /out /args vars var name "OriginAddress"/ var name "FlyCost"/ var name "TaxiFare"/ var name "ParkingCost"/ var name "ModeToAirport"/ . /vars constraints constraint name "selectModeToAirport" type "XQueryConstraint" args in TaxiFare /in in ParkingCost /in out ModeToAirport /out /args output xquery ![cdata[ row TaxiFare { TaxiFare} /TaxiFare ParkingCost { ParkingCost} /ParkingCost ModeToAirport { if ( TaxiFare ParkingCost)then "Drive"else "Taxi"} /ModeToAirport /row ]] /xquery /output /constraint . /constraints expansions expansion var name "ModeToAirport"/ template-call name "Drive" printname "Drive and Park" in DepartureAirport /in in Duration /in out ParkingCost /out /template-call template-call name "Taxi" printname "Take a Taxi" in OriginAddress /in in DepartureAirport /in out Taxifare /out /template-call /expansion . /expansions /template Figure 4: Fragment of the Fly template specificationTemplate Hierarchy. The templates are organized hierarchically to model the task structure of the planning domain,to help the user understand the planning process, and facilitate the presentation of the information. Figure 2 showsthe (simplified) hierarchy of our travel planner. There aretwo subtasks that must be achieved for a trip: getting to thedestination and finding an accommodation. These decisionsare associated with two expansion variables: ModeToDestination and ModeHotel. Since all these subtasks must beachieved for a successful trip, we label the subtask decomposition with an AND. Each of these subtasks can be achievedby several alternative means. The figure shows the choicesas OR branches. For example, the ModeToDestination is aexpansion variable that can take the values Fly, Drive, RentCar, or Taxi. The Fly template is further decomposed in threesubtemplates that handle the ground transportation at the origin and destination airports and the flight details.Conditional Constraint Network. Heracles II reads theset of declarative template specifications for a given appli-

cation and automatically constructs a conditional constraintnetwork based on them.Figure 5 shows a fragment of the constraint network fortravel planning that addresses the selection of the methodof travel from the user’s initial location to the airport. Thechoices under consideration are: driving one’s car (whichimplies leaving it parked at the airport for the duration ofthe trip) or taking a taxi. Figure 5 (a) shows the constraintnetwork that the original Heracles would evaluate to makethis decision. This network would need to be in the sametemplate although some of the variables naturally should appear in subtemplates. Figure 5 (b) shows the same networkin Heracles II. The variables and constraints are partitionedacross several templates in a more modular way that corresponds more closely with the task structure of the domain.Mar 15, 2001OriginAddressDepartureDateMar 18, uration4 days15.1 milesgetParkingRateDistanceDuration 16.00/daygetTaxiFareparkingRatemultiply 23.00TaxiFare 64.00parkingTotalselectModeToAirportTaxi(v1 k1 ) . (vn 1 kn 1 ) active(vn )ModeToAirport(a) Flat Constraint NetworkMar 15, 2001FlyOriginAddressDepartureDateMar 18, tcomputeDurationLAXTaxi4 daysDepartureAirportModeToAirportDurationDrive 64.00TaxiParkingTotal 23.00TaxiFaremultiplygetMap&Directions 16.00/dayParkingRategetTaxiFare15.1 milesMapDirectionsa conditional constraint networks each variable not only hasa value like in the classical case, but it also has an activitystatus. If a variable is inactive it does not participate in thenetwork. In Figure 5 the variables are shown as dark rectangles and the values as white rectangles next to them. Forexample, the DepartureAirport has the value LAX (Los Angeles International), which is assigned by the system since itis the closest airport to the user’s address.Classical Constraints. A constraint is a subset of theCartesian product of the domains of the participating variables. A constraint is a computable component which maybe implemented by a local table look-up, by the computation of a local function, by retrieving a set of tuples from aremote source, or by calling an arbitrary external program.In Figure 5 the constraints are shown as rounded rectangles. For example, the computeDuration constraint involvesthree variables (DepartureDate, ReturnDate, and Duration),and it’s implemented by a function that computes the duration of a trip given the departure and return dates. The constraint getParkingRate is implemented by calling a wrapperthat accesses a web site that contains parking rates for airports in the USA (www.airwise.com).In Heracles (I&II) most of the constraints only have animplementation in one direction. For example, we can findout the parking cost at a given airport, but we cannot findout which are the airports that have parking lots of less than 7/day. This is one reason why Heracles performs only constraint propagation instead of full constraint satisfaction.Activity Constraints. An activity constraint controlsthe activity status of a variable given the values of othervariables. For example, consider an activity constraintac(v1 , ., vn 1 , vn ) that is computed by the rule:DistancegetDistancegetParkingRate(b) (Hierarchical) Conditional Constraint NetworkFigure 5: Comparing Driving Versus Taking a TaxiVariables. Each distinct piece of information in an application is represented as a variable in the constraint network.These values are set by the system by constraint propagation or directly by the user from the graphical interface. InThat is, the activity constraint will make variable vn active whenever the variables [v1 , ., vn 1 ] take the values[k1 , ., kn 1 ], respectively.Template Selection using Activity Constraints. Heracles II uses activity constraints and expansion variables toselect among alternative templates.Heracles II automatically generates activity constraintsbased on the expansion section of each template specification. For each expansion variable, Heracles II adds an activity constraint that act as a multiplexor, making the selectedtemplate active and making the alternative templates inactive. There is no special mechanism to achieve this effect,other than the normal evaluation of the activity constraintsin the conditional network. For example, in Figure 5(b), theexpansion variable ModeToAirport in the Fly template selectsbetween the Drive and Taxi subtemplates. The activity constraint, represented in the figure by the dashed lines from theModeToAirport variable to the Drive and Taxi subtemplates is:Fly.ModeToAirport “Taxi” active(Taxi.TaxiFare) active(Taxi.Distance) active(Drive.Map) active(Drive.Directions)Core Network. To ensure that template selection is responsive to changing user inputs or new information fromasynchronous sources, Heracles II maintains the subset of

the network that affects the computation of the expansionvariables, called the core network, always active. Otherwise,when a template becomes inactive its variables cannot affectthe rest of the network and the choices would lack relevantinformation. For example, in Figure 5(b) all variables andconstraints, except Map, Directions, and getMapDirections,belong to the core network since they contribute to the computation of the ModeToAirport expansion variable. This isthe reason why the activity constraint above does not makeinactive the core variables ParkingRate and ParkingTotal ofthe Drive template. And also why we did not include the casefor Fly.ModeToAirport “Drive” in the activity constraint,since all the variables of the Taxi template are core variables.We call those variables not in the core network informationvariables since their values do not affect task choices butprovide additional information to the user.Heracles II determines the core network automaticallyby reachability analysis. It searches the constraint networkstarting from the expansion variables and traversing constraints from output to input variables until it reaches the“source” variables (i.e., those variables that are not the output of any constraint and must be set by the user). The variables and constraints visited in this search constitute the corenetwork.Analysis. To understand the savings afforded by the conditional constraint network and the template selection mechanism, consider a task hierarchy of depth d where each taskhas a single decision point (expansion variable) with twopossible alternatives (subtemplates). This hierarchy inducesa binary OR-tree with 2d 1 nodes. Further assume thateach template has c core constraints and i information constraints. After evaluating the core network and deciding onthe top level choice, all the information variables and constraints in one of the top subtrees remain inactive. Moreover,this behavior repeats at each level of the selected subtree, sothe only information constraints (and variables) that becomeactive are those of the selected course of action, a total of(d 1)i, saving the evaluation of an exponential number,(2d d)i, of information constraints. In practice, the corenetwork is often a small subset of the constraint network.Thus, much of the constraint evaluation effort is saved bythe Heracles II template selection mechanism.the rate 16.00/day. This value is multiplied by the duration of the trip to compute the ParkingTotal of 64 (using thesimple local constraint multiply). A similar chain of eventsresults in the computation of the TaxiFare, based on the distance between the origin address and the airport. Once boththe ParkingTotal and the TaxiFare are computed, the selectModeToAirport constraint compares the costs and choosesthe cheapest means of transportation, which in this case isto take a Taxi.Constraint propagation in Heracles II can be seen as following a cyclic directed graph. Since the user can changethe value of a variable in the network at any time and remotesources return data asynchronously, Heracles II must takespecial care to prevent infinite loops, to ensure that all theappropriate constraints are fired and the values propagated,and to disregard obsolete values. Heracles II constraint propagation algorithm includes a time-stamping mechanism thataddresses these requirements. We describe it in the remainder of the section.Constraint propagation is initiated when the user inputs avalue. Each variable is annotated with a user-time, an integerincremented every time that the user inputs a new value orchanges a value in the network. In addition, each variableis annotated with the set of variables that has contributed toits value (i.e., those variables that were visited in the chainof constraints that set the variable in the current user-time).This visited set is necessary to prevent cycles. Both theseannotations are propagated as the constraints are evaluatedalong with the actual values assigned to the variables.The algorithm for time-stamped constraint propagation isdescribed by the following rules:R1 Whenever the user changes some value in the GUI, theuser-time of the corresponding variable is incrementedand the visited set is set to empty.R2 A constraint fires whenever any of its inputs changes.R3 When a constraint fires, each output variable: (1) inherits the latest user-time of the input variables, and (2)gets an updated visited set consisting of the input variables unioned with the input variables’ visited sets.Interactive Constraint PropagationR4 A constraint blocks (does not fire) if there exists a variable Vo in the constraint’s outputs and a variable Vi inthe constraint’s inputs such that user-time(Vo ) usertime(Vi ) and Vo visited(Vi ).This section describes the second contribution of this article,namely, a constraint propagation algorithm that handles userinteraction and asynchronous sources in cyclic networks.The basic constraint propagation algorithm proceeds asfollows. When a given variable is assigned a value, eitherdirectly by the user or by the system, the algorithm fires allconstraints that have that variable as an input. This maycause the output variables to change their value (or activity status) and the process continues recursively until thereare no more changes in the network. For example, considerthe network in Figure 5. First, the constraint that finds theclosest airport to the user’s home address assigns the valueLAX to the variable DepartureAirport. Then, the constraintgetParkingRate, which is a call to a web wrapper, producesFigure 6 shows a sample simulation of the constraintpropagation algorithm operating in a cyclic network. Constraints are shown as rectangles and variables as simplenodes. The direction of propagation of the constraints isshown by arcs. Each variable annotation has the syntax“simulation-step) user-time / visited variables [ value”. Forexample, the annotation ”1 ) 1 / [ LA” of variable v1 meansthat at simulation step 1 the user-time was 1, there were noother variables used in the computation of its value (i.e., theuser set the value), and its value was ”LA”.Figure 6(a) shows a simulation of constraint propagationin a cyclic network that picks the geocoordinates of interest (v3) in one of our applications. The network has 3 constraints: C1 that given the name of a city (v1) produces the

geocoordinates of the city center (

(a) Taxi template (b) User changes value in Round Trip Flights (c) Changes propagate to Taxi template Figure 3: Travel planner: user interaction and constraint propagation and template selection follows naturally from the evaluation of activity constraints. To ensure that all information

Related Documents:

Ifigenia entre los taurios, 178 El reinado de Orestes, 181 6 — HERACLES El nacimiento de Heracles, 187 La juventud de Heracles, 189 Las hijas de Tespio, 192 Ergino, 193 La locura de Heracles, 194 El primer trabajo: el león de Nemea, 196 El segundo trabajo: la hidra de Lerna, 198 El tercer trabajo: la cierva de Cerinia, 200 El cuarto trabajo: el jabalí de Erimanto, 201

Chapter 1: Introduction "Disaster" is not a word commonly associated with Heracles, the most popular and victorious hero of ancient Greece. Heracles plays a bewildering variety of roles in Greek

Unit 1 Heroes and villains Section 1 Telling stories: Lesson 1 Activity 1 1 King Eurystheus sets impossible tasks for Heracles because he had promised the goddess Hera that he would help her to defeat Heracles. 2 Heracles takes on these tasks in order to try and earn his freedom from Eurystheus. 3 Students’ own ans

2.1 Conditional Statements 71 Conditional Statements RECOGNIZING CONDITIONAL STATEMENTS In this lesson you will study a type of logical statement called a conditional statement. A has two parts, a hypothesisand a conclusion. When the statement is written in the "if" part contains the and the "then" part contains the Here is an example:

Persian sky god, Ana, points to Datames who points to himself apparently as a gesture of veneration. (Figure 15) On an obol issued during the period 380-360 Heracles appears on the obverse with Aphrodite on the reverse. (Figure 16) Heracles was a superhero very popular with the Greeks as was

King Eurystheus and Heracles were cousins, but there was little family love between them. As the Oracle at Delphi had instructed, Heracles had to perform the following nearly impossible labors for the king: 1. Killthe ferocious Nemean Lion and make a cloak of its skin. 2. Killthe terrible Hydra of the Lernaean swamps. This enormous serpent had .

interaction of foot alignment (ALL-FT-X) with an anti-lapse constraint (Ishii 1996). However, the entire theoretical artifice is crucially dependent on an appropriate statement of the anti-lapse constraint. One such approach to defining the anti-lapse constraint is the grid-based lapse constraint *LAPSE (Elenbaas 1999, Elenbaas and Kager 1999) which has proved its mettle in offering a .

Given a power point presentation on . Ramcharitmanas: The Journey of a Text . in India International Centre, New Delhi on 7/3/2003. 7. Participated as a resource person in a refresher course for lecturers on “Hindi Public Sphere” organized by Mahatma Gandhi International University at Nainital on 13. th &14. th. June’2003. 8. Participated in the International Seminar on Fyodor J.Tyutchev .