Difference between revisions of "Config:SequentialDesign"

From SUMOwiki
Jump to navigationJump to search
Line 1: Line 1:
'''Generated for SUMO toolbox version 6'''.
+
'''Generated for SUMO toolbox version 6.1'''.
''We are well aware that the list below is incomplete and possibly even out of date in some cases. We try to document everything as best we can but much is limited by available time and manpower.  The most up to date documentation can always be found (if not here) in the default.xml configuration file and, of course, in the source files.''
+
''We are well aware that documentation is not always complete and possibly even out of date in some cases. We try to document everything as best we can but much is limited by available time and manpower.  We are are a university research group after all. The most up to date documentation can always be found (if not here) in the default.xml configuration file and, of course, in the source files.  If something is unclear please dont hesitate to [[Reporting problems|ask]].''
 
== SampleSelector ==
 
== SampleSelector ==
  
Line 12: Line 12:
 
<source xmlns:saxon="http://icl.com/saxon" lang="xml">
 
<source xmlns:saxon="http://icl.com/saxon" lang="xml">
 
<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#RandomSampleSelector|RandomSampleSelector]]" combineOutputs="false"/>
 
<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#RandomSampleSelector|RandomSampleSelector]]" combineOutputs="false"/>
</source>
 
=== combo ===
 
Allows you combine multiple sample selector algorithms
 
<source xmlns:saxon="http://icl.com/saxon" lang="xml">
 
<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#CombinedSampleSelector|CombinedSampleSelector]]" combineOutputs="false">
 
  <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#RationalPoleSuppressionSampleSelector|RationalPoleSuppressionSampleSelector]]" combineOutputs="false">
 
      <!-- Currently no options are available, if the model is a rational model, and a
 
      - - pole is found (using a simple search strategy), the pole is returned -->
 
  </[[Config:SampleSelector|SampleSelector]]>
 
 
 
  <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#DelaunaySampleSelector|DelaunaySampleSelector]]" combineOutputs="false">
 
      <!-- One of all, data -->
 
      <Option key="sampleSelect" value="all"/>
 
      <!-- Integer between 2 and 20 -->
 
      <Option key="nLastModels" value="2"/>
 
      <!-- One of densityBased, differenceBased, weightedLinear, weightedGeometric -->
 
      <Option key="scoreFunction" value="weightedLinear"/>
 
      <!-- Weighting for weightedLinear -->
 
      <Option key="lambda" value="0.5"/>
 
      <!-- Weighting for weightedGeometric -->
 
      <Option key="mu" value="0.5"/>
 
      <!-- One of none, max, cap, capmax -->
 
      <Option key="volumeScaling" value="max"/>
 
      <Option key="differenceScaling" value="capmax"/>
 
      <!-- Boolean flag, if set all points closer than snapThreshold to the boundary of
 
      - - the domain are clipped to the boundary -->
 
      <Option key="snapToEdge" value="enable"/>
 
      <Option key="snapThreshold" value=".05"/>
 
  </[[Config:SampleSelector|SampleSelector]]>
 
</[[Config:SampleSelector|SampleSelector]]>
 
 
</source>
 
</source>
 
=== delaunay ===
 
=== delaunay ===
Line 86: Line 56:
 
</[[Config:SampleSelector|SampleSelector]]>
 
</[[Config:SampleSelector|SampleSelector]]>
 
</source>
 
</source>
=== gradient ===
+
=== lola ===
 
A highly adaptive sampling algorithm, error and density based
 
A highly adaptive sampling algorithm, error and density based
 
<source xmlns:saxon="http://icl.com/saxon" lang="xml">
 
<source xmlns:saxon="http://icl.com/saxon" lang="xml">
<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#GradientSampleSelector|GradientSampleSelector]]" combineOutputs="false">
+
<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#LOLASampleSelector|LOLASampleSelector]]" combineOutputs="false">
 
   <!-- Integer between 2 and 20 -->
 
   <!-- Integer between 2 and 20 -->
 
   <Option key="neighbourhoodSize" value="2"/>
 
   <Option key="neighbourhoodSize" value="2"/>
Line 95: Line 65:
 
</source>
 
</source>
 
=== autoSampling ===
 
=== autoSampling ===
A wrapper around another sample selector that filters out the auto-sampled dimensions.
+
A wrapper around another sample selector that filters out the auto-sampled dimensions. This is useful if one or more inputs are sampled automatically by the simulator.
 
<source xmlns:saxon="http://icl.com/saxon" lang="xml">
 
<source xmlns:saxon="http://icl.com/saxon" lang="xml">
 
<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#AutoSamplingSampleSelector|AutoSamplingSampleSelector]]" combineOutputs="false">
 
<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#AutoSamplingSampleSelector|AutoSamplingSampleSelector]]" combineOutputs="false">
Line 103: Line 73:
 
    
 
    
 
   <!-- The sample selector to use for non-auto sampled dimensions. -->
 
   <!-- The sample selector to use for non-auto sampled dimensions. -->
   <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#GradientSampleSelector|GradientSampleSelector]]" combineOutputs="false">
+
   <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#LOLASampleSelector|LOLASampleSelector]]" combineOutputs="false">
 
       <Option key="neighbourhoodSize" value="2"/>
 
       <Option key="neighbourhoodSize" value="2"/>
 
   </[[Config:SampleSelector|SampleSelector]]>
 
   </[[Config:SampleSelector|SampleSelector]]>
Line 109: Line 79:
 
</[[Config:SampleSelector|SampleSelector]]>
 
</[[Config:SampleSelector|SampleSelector]]>
 
</source>
 
</source>
=== isc ===
+
=== rationalPoleSupression ===
A sampling algorithm aimed at optimization problems
+
A sampling algorithm aimed at supressing poles by sampling them (only for Rational models)
 
<source xmlns:saxon="http://icl.com/saxon" lang="xml">
 
<source xmlns:saxon="http://icl.com/saxon" lang="xml">
<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#InfillSamplingCriterion|InfillSamplingCriterion]]" combineOutputs="false">
+
<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#OptimizeCriterion|OptimizeCriterion]]" combineOutputs="false">
 
   <!-- A criterion determines the interesting regions to sample -->
 
   <!-- A criterion determines the interesting regions to sample -->
 
   <!-- Choose 1 from the following: -->
 
   <!-- Choose 1 from the following: -->
   <Option key="criterion" value="gei"/> <!-- generalized expected improvement -->
+
   <Option key="criterion" value="rationalPoleSupression"/> <!-- supresses poles in a rational model by sampling at those locations -->
  <Option key="g" value="1"/> <!-- balanced local-global search -->
 
 
 
  <!--<Option key="criterion" value="wei" />--> <!-- weighted expected improvement -->
 
  <!--<Option key="w" value="0.5" />--> <!-- weight, 0 is global search, 1 is local search -->
 
 
 
  <!--<Option key="criterion" value="ei" />--> <!-- expected improvement -->
 
 
 
  <!--<Option key="criterion" value="kushner" />--> <!-- kushner -->
 
  <!--<Option key="eps" value="0.001" />-->
 
 
 
  <!--<Option key="criterion" value="lcb" />--> <!-- lower confidence bound function -->
 
  <!--<Option key="lcb" value="2.0" />-->
 
  <!--<Option key="criterion" value="maxvar" />--> <!-- maximizes variation -->
 
 
 
  <!-- Watson and Barnes criterions -->
 
  <!--<Option key="criterion" value="wb1" />--> <!-- threshold-bounded extreme -->
 
  <!--<Option key="criterion" value="wb2" />--> <!-- regional extreme -->
 
 
 
  <!--<Option key="criterion" value="crowdedness" />--> <!-- crowdedness function -->
 
  
 
   <!-- This criterion has to be solved to choose new samples, one can choose the optimizer used here -->
 
   <!-- This criterion has to be solved to choose new samples, one can choose the optimizer used here -->
Line 143: Line 94:
  
 
   <!--
 
   <!--
   <[[Config:Optimizer|Optimizer]] type="[[Optimizer#MatlabGA|MatlabGA]]">
+
  when debug is 'on' a contour plot of the criterion function is drawn every iteration.
 +
  Together with the current samples and the chosen samples
 +
  -->
 +
  <Option key="debug" value="off"/>
 +
</[[Config:SampleSelector|SampleSelector]]>
 +
</source>
 +
=== expectedImprovement ===
 +
A sampling algorithm aimed at optimization problems (only for Kriging and RBF)
 +
<source xmlns:saxon="http://icl.com/saxon" lang="xml">
 +
<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#OptimizeCriterion|OptimizeCriterion]]" combineOutputs="false">
 +
  <!-- A criterion determines the interesting regions to sample -->
 +
  <!-- Choose 1 from the following: -->
 +
  <Option key="criterion" value="gExpectedImprovement"/> <!-- generalized expected improvement -->
 +
  <Option key="criterion_opts" value="1"/> <!-- balanced local-global search -->
 +
 
 +
  <!-- This criterion has to be solved to choose new samples, one can choose the optimizer used here -->
 +
   <[[Config:Optimizer|Optimizer]] type="[[Optimizer#DirectOptimizer|DirectOptimizer]]">
 +
      <Option key="maxevals" value="1000"/>
 +
      <Option key="maxits" value="300"/>
 
   </[[Config:Optimizer|Optimizer]]>
 
   </[[Config:Optimizer|Optimizer]]>
  -->
 
  
 
   <!--
 
   <!--
   when debug is 'on' a contour plot of the ISC function is drawn every iteration.
+
   when debug is 'on' a contour plot of the criterion function is drawn every iteration.
 
   Together with the current samples and the chosen samples
 
   Together with the current samples and the chosen samples
 
   -->
 
   -->
   <Option key="debug" value="on"/>
+
   <Option key="debug" value="off"/>
 +
</[[Config:SampleSelector|SampleSelector]]>
 +
</source>
 +
=== extremaLOLA ===
 +
LOLA sample selector supplemented with 1 sample at the minimum and maximum
 +
<source xmlns:saxon="http://icl.com/saxon" lang="xml">
 +
<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#CombinedSampleSelector|CombinedSampleSelector]]" combineOutputs="false">
 +
  <!-- A highly adaptive sampling algorithm, error and density based -->
 +
  <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#LOLASampleSelector|LOLASampleSelector]]" combineOutputs="false">
 +
      <!-- Integer between 2 and 20 -->
 +
      <Option key="neighbourhoodSize" value="2"/>
 +
  </[[Config:SampleSelector|SampleSelector]]>
 +
 
 +
  <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#OptimizeCriterion|OptimizeCriterion]]" combineOutputs="false">
 +
      <Option key="criterion" value="minmodel"/> <!-- generalized expected improvement -->
 +
 
 +
      <!-- Use the following optimization method. -->
 +
      <[[Config:Optimizer|Optimizer]] type="[[Optimizer#DirectOptimizer|DirectOptimizer]]">
 +
        <Option key="maxevals" value="1000"/>
 +
        <Option key="maxits" value="300"/>
 +
      </[[Config:Optimizer|Optimizer]]>
 +
 
 +
      <Option key="debug" value="off"/>
 +
  </[[Config:SampleSelector|SampleSelector]]>
 +
 
 +
  <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#OptimizeCriterion|OptimizeCriterion]]" combineOutputs="false">
 +
      <Option key="criterion" value="maxmodel"/> <!-- generalized expected improvement -->
 +
 
 +
      <!-- Use the following optimization method. -->
 +
      <[[Config:Optimizer|Optimizer]] type="[[Optimizer#DirectOptimizer|DirectOptimizer]]">
 +
        <Option key="maxevals" value="1000"/>
 +
        <Option key="maxits" value="300"/>
 +
      </[[Config:Optimizer|Optimizer]]>
 +
 
 +
      <Option key="debug" value="off"/>
 +
  </[[Config:SampleSelector|SampleSelector]]>
 +
 
 +
</[[Config:SampleSelector|SampleSelector]]>
 +
</source>
 +
=== default ===
 +
LOLA sample selector combined with error based sample selector (default)
 +
<source xmlns:saxon="http://icl.com/saxon" lang="xml">
 +
<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#CombinedSampleSelector|CombinedSampleSelector]]" combineOutputs="false">
 +
  <!-- A highly adaptive sampling algorithm, error and density based -->
 +
  <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#LOLASampleSelector|LOLASampleSelector]]" combineOutputs="false">
 +
      <!-- Integer between 2 and 20 -->
 +
      <Option key="neighbourhoodSize" value="2"/>
 +
  </[[Config:SampleSelector|SampleSelector]]>
 +
 
 +
  <!-- An adaptive sample selection algorithm (error based), driven by the evaluation of your model on a dense grid -->
 +
  <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#ErrorSampleSelector|ErrorSampleSelector]]" combineOutputs="false">
 +
      <!-- Integer between 2 and 20 -->
 +
      <Option key="nLastModels" value="4"/>     
 +
      <!-- One of none, max, cap, capmax -->
 +
      <Option key="differenceScaling" value="none"/>
 +
      <!-- Gridsize to evaluate on, one of int or array of dimension length -->
 +
      <Option key="gridSize" value="50"/>
 +
      <!-- Maximum total points to evaluate, distributed over dimensions -->
 +
      <Option key="maxGridSize" value="100000"/>
 +
      <!-- Closeness threshold, Double -->
 +
      <Option key="closenessThreshold" value="0.2"/>
 +
      <!-- Set a % of the maximumSamples to randomly chosen -->
 +
      <Option key="randomPercentage" value="0"/>
 +
  </[[Config:SampleSelector|SampleSelector]]>
 
</[[Config:SampleSelector|SampleSelector]]>
 
</[[Config:SampleSelector|SampleSelector]]>
 
</source>
 
</source>

Revision as of 17:13, 17 February 2009

Generated for SUMO toolbox version 6.1. We are well aware that documentation is not always complete and possibly even out of date in some cases. We try to document everything as best we can but much is limited by available time and manpower. We are are a university research group after all. The most up to date documentation can always be found (if not here) in the default.xml configuration file and, of course, in the source files. If something is unclear please dont hesitate to ask.

SampleSelector

empty

Dont select any new samples, useful when modeling multiple outputs in paralel

<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#EmptySampleSelector|EmptySampleSelector]]" combineOutputs="false"/>

random

Each sampling iterations new samples are selected randomly

<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#RandomSampleSelector|RandomSampleSelector]]" combineOutputs="false"/>

delaunay

An adaptive sample selection algorithm that does a trade-off between error and density

<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#DelaunaySampleSelector|DelaunaySampleSelector]]" combineOutputs="false">
   <!-- One of all, data -->
   <Option key="sampleSelect" value="all"/>
   <!-- Integer between 2 and 20 -->
   <Option key="nLastModels" value="2"/>      
   <!-- One of densityBased, differenceBased, weightedLinear, weightedGeometric -->
   <Option key="scoreFunction" value="weightedLinear"/>
   <Option key="lambda" value="0.5"/>
   <Option key="mu" value="0.5"/>
   <!-- One of none, max, cap, capmax -->
   <Option key="volumeScaling" value="max"/>
   <Option key="differenceScaling" value="capmax"/>
   <!-- Boolean flag -->
   <Option key="snapToEdge" value="enable"/>
   <Option key="snapThreshold" value=".2"/>
</[[Config:SampleSelector|SampleSelector]]>

density

A simple density based sample selection algorithm

<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#DensitySampleSelector|DensitySampleSelector]]" combineOutputs="false"/>

error

An adaptive sample selection algorithm (error based), driven by the evaluation of your model on a dense grid

<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#ErrorSampleSelector|ErrorSampleSelector]]" combineOutputs="false">
   <!-- Integer between 2 and 20 -->
   <Option key="nLastModels" value="4"/>      
   <!-- One of none, max, cap, capmax -->
   <Option key="differenceScaling" value="none"/>
   <!-- Gridsize to evaluate on, one of int or array of dimension length -->
   <Option key="gridSize" value="50"/>
   <!-- Maximum total points to evaluate, distributed over dimensions -->
   <Option key="maxGridSize" value="100000"/>
   <!-- Closeness threshold, Double -->
   <Option key="closenessThreshold" value="0.2"/>
   <!-- Set a % of the maximumSamples to randomly chosen -->
   <Option key="randomPercentage" value="20"/>
</[[Config:SampleSelector|SampleSelector]]>

lola

A highly adaptive sampling algorithm, error and density based

<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#LOLASampleSelector|LOLASampleSelector]]" combineOutputs="false">
   <!-- Integer between 2 and 20 -->
   <Option key="neighbourhoodSize" value="2"/>
</[[Config:SampleSelector|SampleSelector]]>

autoSampling

A wrapper around another sample selector that filters out the auto-sampled dimensions. This is useful if one or more inputs are sampled automatically by the simulator.

<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#AutoSamplingSampleSelector|AutoSamplingSampleSelector]]" combineOutputs="false">
   
   <!-- The filter function to use. Default = max. -->
   <Option key="function" value="max"/>
   
   <!-- The sample selector to use for non-auto sampled dimensions. -->
   <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#LOLASampleSelector|LOLASampleSelector]]" combineOutputs="false">
      <Option key="neighbourhoodSize" value="2"/>
   </[[Config:SampleSelector|SampleSelector]]>
   
</[[Config:SampleSelector|SampleSelector]]>

rationalPoleSupression

A sampling algorithm aimed at supressing poles by sampling them (only for Rational models)

<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#OptimizeCriterion|OptimizeCriterion]]" combineOutputs="false">
   <!-- A criterion determines the interesting regions to sample -->
   <!-- Choose 1 from the following: -->
   <Option key="criterion" value="rationalPoleSupression"/> <!-- supresses poles in a rational model by sampling at those locations -->

   <!-- This criterion has to be solved to choose new samples, one can choose the optimizer used here -->
   <[[Config:Optimizer|Optimizer]] type="[[Optimizer#DirectOptimizer|DirectOptimizer]]">
      <Option key="maxevals" value="1000"/>
      <Option key="maxits" value="300"/>
   </[[Config:Optimizer|Optimizer]]>

   <!--
   when debug is 'on' a contour plot of the criterion function is drawn every iteration.
   Together with the current samples and the chosen samples
   -->
   <Option key="debug" value="off"/>
</[[Config:SampleSelector|SampleSelector]]>

expectedImprovement

A sampling algorithm aimed at optimization problems (only for Kriging and RBF)

<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#OptimizeCriterion|OptimizeCriterion]]" combineOutputs="false">
   <!-- A criterion determines the interesting regions to sample -->
   <!-- Choose 1 from the following: -->
   <Option key="criterion" value="gExpectedImprovement"/> <!-- generalized expected improvement -->
   <Option key="criterion_opts" value="1"/> <!-- balanced local-global search -->

   <!-- This criterion has to be solved to choose new samples, one can choose the optimizer used here -->
   <[[Config:Optimizer|Optimizer]] type="[[Optimizer#DirectOptimizer|DirectOptimizer]]">
      <Option key="maxevals" value="1000"/>
      <Option key="maxits" value="300"/>
   </[[Config:Optimizer|Optimizer]]>

   <!--
   when debug is 'on' a contour plot of the criterion function is drawn every iteration.
   Together with the current samples and the chosen samples
   -->
   <Option key="debug" value="off"/>
</[[Config:SampleSelector|SampleSelector]]>

extremaLOLA

LOLA sample selector supplemented with 1 sample at the minimum and maximum

<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#CombinedSampleSelector|CombinedSampleSelector]]" combineOutputs="false">
   <!-- A highly adaptive sampling algorithm, error and density based -->
   <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#LOLASampleSelector|LOLASampleSelector]]" combineOutputs="false">
      <!-- Integer between 2 and 20 -->
      <Option key="neighbourhoodSize" value="2"/>
   </[[Config:SampleSelector|SampleSelector]]>

   <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#OptimizeCriterion|OptimizeCriterion]]" combineOutputs="false">
      <Option key="criterion" value="minmodel"/> <!-- generalized expected improvement -->

      <!-- Use the following optimization method. -->
      <[[Config:Optimizer|Optimizer]] type="[[Optimizer#DirectOptimizer|DirectOptimizer]]">
         <Option key="maxevals" value="1000"/>
         <Option key="maxits" value="300"/>
      </[[Config:Optimizer|Optimizer]]>

      <Option key="debug" value="off"/>
   </[[Config:SampleSelector|SampleSelector]]>

   <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#OptimizeCriterion|OptimizeCriterion]]" combineOutputs="false">
      <Option key="criterion" value="maxmodel"/> <!-- generalized expected improvement -->

      <!-- Use the following optimization method. -->
      <[[Config:Optimizer|Optimizer]] type="[[Optimizer#DirectOptimizer|DirectOptimizer]]">
         <Option key="maxevals" value="1000"/>
         <Option key="maxits" value="300"/>
      </[[Config:Optimizer|Optimizer]]>

      <Option key="debug" value="off"/>
   </[[Config:SampleSelector|SampleSelector]]>

</[[Config:SampleSelector|SampleSelector]]>

default

LOLA sample selector combined with error based sample selector (default)

<[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#CombinedSampleSelector|CombinedSampleSelector]]" combineOutputs="false">
   <!-- A highly adaptive sampling algorithm, error and density based -->
   <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#LOLASampleSelector|LOLASampleSelector]]" combineOutputs="false">
      <!-- Integer between 2 and 20 -->
      <Option key="neighbourhoodSize" value="2"/>
   </[[Config:SampleSelector|SampleSelector]]>

   <!-- An adaptive sample selection algorithm (error based), driven by the evaluation of your model on a dense grid -->
   <[[Config:SampleSelector|SampleSelector]] type="[[SampleSelector#ErrorSampleSelector|ErrorSampleSelector]]" combineOutputs="false">
      <!-- Integer between 2 and 20 -->
      <Option key="nLastModels" value="4"/>      
      <!-- One of none, max, cap, capmax -->
      <Option key="differenceScaling" value="none"/>
      <!-- Gridsize to evaluate on, one of int or array of dimension length -->
      <Option key="gridSize" value="50"/>
      <!-- Maximum total points to evaluate, distributed over dimensions -->
      <Option key="maxGridSize" value="100000"/>
      <!-- Closeness threshold, Double -->
      <Option key="closenessThreshold" value="0.2"/>
      <!-- Set a % of the maximumSamples to randomly chosen -->
      <Option key="randomPercentage" value="0"/>
   </[[Config:SampleSelector|SampleSelector]]>
</[[Config:SampleSelector|SampleSelector]]>