/aima-all/release/javadoc/aima-core/aima/core/search/adversarial/MinimaxSearch.html
HTML | 405 lines | 338 code | 45 blank | 22 comment | 0 complexity | 01a83d55f2d4c4bcc054cdc3a9417037 MD5 | raw file
Possible License(s): GPL-3.0, Apache-2.0
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <!--NewPage-->
- <HTML>
- <HEAD>
- <!-- Generated by javadoc (build 1.6.0_20) on Sun Jan 08 15:29:12 PST 2012 -->
- <TITLE>
- MinimaxSearch
- </TITLE>
-
- <META NAME="date" CONTENT="2012-01-08">
-
- <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
-
- <SCRIPT type="text/javascript">
- function windowTitle()
- {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="MinimaxSearch";
- }
- }
- </SCRIPT>
- <NOSCRIPT>
- </NOSCRIPT>
-
- </HEAD>
-
- <BODY BGCOLOR="white" onload="windowTitle();">
- <HR>
-
-
- <!-- ========= START OF TOP NAVBAR ======= -->
- <A NAME="navbar_top"><!-- --></A>
- <A HREF="#skip-navbar_top" title="Skip navigation links"></A>
- <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
- <TR>
- <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
- <A NAME="navbar_top_firstrow"><!-- --></A>
- <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
- <TR ALIGN="center" VALIGN="top">
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
- <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
- </TR>
- </TABLE>
- </TD>
- <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
- </EM>
- </TD>
- </TR>
-
- <TR>
- <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
- <A HREF="../../../../aima/core/search/adversarial/IterativeDeepeningAlphaBetaSearch.html" title="class in aima.core.search.adversarial"><B>PREV CLASS</B></A>
- NEXT CLASS</FONT></TD>
- <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
- <A HREF="../../../../index.html?aima/core/search/adversarial/MinimaxSearch.html" target="_top"><B>FRAMES</B></A>
- <A HREF="MinimaxSearch.html" target="_top"><B>NO FRAMES</B></A>
- <SCRIPT type="text/javascript">
- <!--
- if(window==top) {
- document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
- }
- //-->
- </SCRIPT>
- <NOSCRIPT>
- <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
- </NOSCRIPT>
-
-
- </FONT></TD>
- </TR>
- <TR>
- <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
- SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
- <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
- DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
- </TR>
- </TABLE>
- <A NAME="skip-navbar_top"></A>
- <!-- ========= END OF TOP NAVBAR ========= -->
-
- <HR>
- <!-- ======== START OF CLASS DATA ======== -->
- <H2>
- <FONT SIZE="-1">
- aima.core.search.adversarial</FONT>
- <BR>
- Class MinimaxSearch<STATE,ACTION,PLAYER></H2>
- <PRE>
- java.lang.Object
- <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>aima.core.search.adversarial.MinimaxSearch<STATE,ACTION,PLAYER></B>
- </PRE>
- <DL>
- <DT><DT><B>Type Parameters:</B><DD><CODE>STATE</CODE> - Type which is used for states in the game.<DD><CODE>ACTION</CODE> - Type which is used for actions in the game.<DD><CODE>PLAYER</CODE> - Type which is used for players in the game.</DL>
- <DL>
- <DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../aima/core/search/adversarial/AdversarialSearch.html" title="interface in aima.core.search.adversarial">AdversarialSearch</A><STATE,ACTION></DD>
- </DL>
- <HR>
- <DL>
- <DT><PRE>public class <B>MinimaxSearch<STATE,ACTION,PLAYER></B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../aima/core/search/adversarial/AdversarialSearch.html" title="interface in aima.core.search.adversarial">AdversarialSearch</A><STATE,ACTION></DL>
- </PRE>
-
- <P>
- Artificial Intelligence A Modern Approach (3rd Edition): page 169.<br>
-
- <pre>
- <code>
- function MINIMAX-DECISION(state) returns an action
- return argmax_[a in ACTIONS(s)] MIN-VALUE(RESULT(state, a))
-
- function MAX-VALUE(state) returns a utility value
- if TERMINAL-TEST(state) then return UTILITY(state)
- v = -infinity
- for each a in ACTIONS(state) do
- v = MAX(v, MIN-VALUE(RESULT(s, a)))
- return v
-
- function MIN-VALUE(state) returns a utility value
- if TERMINAL-TEST(state) then return UTILITY(state)
- v = infinity
- for each a in ACTIONS(state) do
- v = MIN(v, MAX-VALUE(RESULT(s, a)))
- return v
- </code>
- </pre>
-
- Figure 5.3 An algorithm for calculating minimax decisions. It returns the
- action corresponding to the best possible move, that is, the move that leads
- to the outcome with the best utility, under the assumption that the opponent
- plays to minimize utility. The functions MAX-VALUE and MIN-VALUE go through
- the whole game tree, all the way to the leaves, to determine the backed-up
- value of a state. The notation argmax_[a in S] f(a) computes the element a of
- set S that has the maximum value of f(a).
- <P>
-
- <P>
- <DL>
- <DT><B>Author:</B></DT>
- <DD>Ruediger Lunde</DD>
- </DL>
- <HR>
-
- <P>
-
- <!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
- <A NAME="constructor_summary"><!-- --></A>
- <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
- <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
- <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
- <B>Constructor Summary</B></FONT></TH>
- </TR>
- <TR BGCOLOR="white" CLASS="TableRowColor">
- <TD><CODE><B><A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html#MinimaxSearch(aima.core.search.adversarial.Game)">MinimaxSearch</A></B>(<A HREF="../../../../aima/core/search/adversarial/Game.html" title="interface in aima.core.search.adversarial">Game</A><<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">STATE</A>,<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">ACTION</A>,<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">PLAYER</A>> game)</CODE>
-
- <BR>
- </TD>
- </TR>
- </TABLE>
-
- <!-- ========== METHOD SUMMARY =========== -->
-
- <A NAME="method_summary"><!-- --></A>
- <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
- <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
- <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
- <B>Method Summary</B></FONT></TH>
- </TR>
- <TR BGCOLOR="white" CLASS="TableRowColor">
- <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
- <CODE>static
- <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
- <TR ALIGN="right" VALIGN="">
- <TD NOWRAP><FONT SIZE="-1">
- <CODE><STATE,ACTION,PLAYER>
- <BR>
- <A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="class in aima.core.search.adversarial">MinimaxSearch</A><STATE,ACTION,PLAYER></CODE></FONT></TD>
- </TR>
- </TABLE>
- </CODE></FONT></TD>
- <TD><CODE><B><A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html#createFor(aima.core.search.adversarial.Game)">createFor</A></B>(<A HREF="../../../../aima/core/search/adversarial/Game.html" title="interface in aima.core.search.adversarial">Game</A><STATE,ACTION,PLAYER> game)</CODE>
-
- <BR>
- Creates a new search object for a given game.</TD>
- </TR>
- <TR BGCOLOR="white" CLASS="TableRowColor">
- <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
- <CODE> <A HREF="../../../../aima/core/search/framework/Metrics.html" title="class in aima.core.search.framework">Metrics</A></CODE></FONT></TD>
- <TD><CODE><B><A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html#getMetrics()">getMetrics</A></B>()</CODE>
-
- <BR>
- Returns all the metrics of the search.</TD>
- </TR>
- <TR BGCOLOR="white" CLASS="TableRowColor">
- <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
- <CODE> <A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">ACTION</A></CODE></FONT></TD>
- <TD><CODE><B><A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html#makeDecision(STATE)">makeDecision</A></B>(<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">STATE</A> state)</CODE>
-
- <BR>
- Returns the action which appears to be the best at the given state.</TD>
- </TR>
- <TR BGCOLOR="white" CLASS="TableRowColor">
- <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
- <CODE> double</CODE></FONT></TD>
- <TD><CODE><B><A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html#maxValue(STATE, PLAYER)">maxValue</A></B>(<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">STATE</A> state,
- <A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">PLAYER</A> player)</CODE>
-
- <BR>
- </TD>
- </TR>
- <TR BGCOLOR="white" CLASS="TableRowColor">
- <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
- <CODE> double</CODE></FONT></TD>
- <TD><CODE><B><A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html#minValue(STATE, PLAYER)">minValue</A></B>(<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">STATE</A> state,
- <A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">PLAYER</A> player)</CODE>
-
- <BR>
- </TD>
- </TR>
- </TABLE>
- <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
- <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
- <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
- <TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
- </TR>
- <TR BGCOLOR="white" CLASS="TableRowColor">
- <TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
- </TR>
- </TABLE>
-
- <P>
-
- <!-- ========= CONSTRUCTOR DETAIL ======== -->
-
- <A NAME="constructor_detail"><!-- --></A>
- <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
- <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
- <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
- <B>Constructor Detail</B></FONT></TH>
- </TR>
- </TABLE>
-
- <A NAME="MinimaxSearch(aima.core.search.adversarial.Game)"><!-- --></A><H3>
- MinimaxSearch</H3>
- <PRE>
- public <B>MinimaxSearch</B>(<A HREF="../../../../aima/core/search/adversarial/Game.html" title="interface in aima.core.search.adversarial">Game</A><<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">STATE</A>,<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">ACTION</A>,<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">PLAYER</A>> game)</PRE>
- <DL>
- </DL>
-
- <!-- ============ METHOD DETAIL ========== -->
-
- <A NAME="method_detail"><!-- --></A>
- <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
- <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
- <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
- <B>Method Detail</B></FONT></TH>
- </TR>
- </TABLE>
-
- <A NAME="createFor(aima.core.search.adversarial.Game)"><!-- --></A><H3>
- createFor</H3>
- <PRE>
- public static <STATE,ACTION,PLAYER> <A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="class in aima.core.search.adversarial">MinimaxSearch</A><STATE,ACTION,PLAYER> <B>createFor</B>(<A HREF="../../../../aima/core/search/adversarial/Game.html" title="interface in aima.core.search.adversarial">Game</A><STATE,ACTION,PLAYER> game)</PRE>
- <DL>
- <DD>Creates a new search object for a given game.
- <P>
- <DD><DL>
- </DL>
- </DD>
- <DD><DL>
- </DL>
- </DD>
- </DL>
- <HR>
-
- <A NAME="makeDecision(java.lang.Object)"><!-- --></A><A NAME="makeDecision(STATE)"><!-- --></A><H3>
- makeDecision</H3>
- <PRE>
- public <A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">ACTION</A> <B>makeDecision</B>(<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">STATE</A> state)</PRE>
- <DL>
- <DD><B>Description copied from interface: <CODE><A HREF="../../../../aima/core/search/adversarial/AdversarialSearch.html#makeDecision(STATE)">AdversarialSearch</A></CODE></B></DD>
- <DD>Returns the action which appears to be the best at the given state.
- <P>
- <DD><DL>
- <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../aima/core/search/adversarial/AdversarialSearch.html#makeDecision(STATE)">makeDecision</A></CODE> in interface <CODE><A HREF="../../../../aima/core/search/adversarial/AdversarialSearch.html" title="interface in aima.core.search.adversarial">AdversarialSearch</A><<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">STATE</A>,<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">ACTION</A>></CODE></DL>
- </DD>
- <DD><DL>
- </DL>
- </DD>
- </DL>
- <HR>
-
- <A NAME="maxValue(java.lang.Object,java.lang.Object)"><!-- --></A><A NAME="maxValue(STATE, PLAYER)"><!-- --></A><H3>
- maxValue</H3>
- <PRE>
- public double <B>maxValue</B>(<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">STATE</A> state,
- <A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">PLAYER</A> player)</PRE>
- <DL>
- <DD><DL>
- </DL>
- </DD>
- <DD><DL>
- </DL>
- </DD>
- </DL>
- <HR>
-
- <A NAME="minValue(java.lang.Object,java.lang.Object)"><!-- --></A><A NAME="minValue(STATE, PLAYER)"><!-- --></A><H3>
- minValue</H3>
- <PRE>
- public double <B>minValue</B>(<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">STATE</A> state,
- <A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">PLAYER</A> player)</PRE>
- <DL>
- <DD><DL>
- </DL>
- </DD>
- <DD><DL>
- </DL>
- </DD>
- </DL>
- <HR>
-
- <A NAME="getMetrics()"><!-- --></A><H3>
- getMetrics</H3>
- <PRE>
- public <A HREF="../../../../aima/core/search/framework/Metrics.html" title="class in aima.core.search.framework">Metrics</A> <B>getMetrics</B>()</PRE>
- <DL>
- <DD><B>Description copied from interface: <CODE><A HREF="../../../../aima/core/search/adversarial/AdversarialSearch.html#getMetrics()">AdversarialSearch</A></CODE></B></DD>
- <DD>Returns all the metrics of the search.
- <P>
- <DD><DL>
- <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../aima/core/search/adversarial/AdversarialSearch.html#getMetrics()">getMetrics</A></CODE> in interface <CODE><A HREF="../../../../aima/core/search/adversarial/AdversarialSearch.html" title="interface in aima.core.search.adversarial">AdversarialSearch</A><<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">STATE</A>,<A HREF="../../../../aima/core/search/adversarial/MinimaxSearch.html" title="type parameter in MinimaxSearch">ACTION</A>></CODE></DL>
- </DD>
- <DD><DL>
-
- <DT><B>Returns:</B><DD>all the metrics of the search.</DL>
- </DD>
- </DL>
- <!-- ========= END OF CLASS DATA ========= -->
- <HR>
-
-
- <!-- ======= START OF BOTTOM NAVBAR ====== -->
- <A NAME="navbar_bottom"><!-- --></A>
- <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
- <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
- <TR>
- <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
- <A NAME="navbar_bottom_firstrow"><!-- --></A>
- <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
- <TR ALIGN="center" VALIGN="top">
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
- <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
- </TR>
- </TABLE>
- </TD>
- <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
- </EM>
- </TD>
- </TR>
-
- <TR>
- <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
- <A HREF="../../../../aima/core/search/adversarial/IterativeDeepeningAlphaBetaSearch.html" title="class in aima.core.search.adversarial"><B>PREV CLASS</B></A>
- NEXT CLASS</FONT></TD>
- <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
- <A HREF="../../../../index.html?aima/core/search/adversarial/MinimaxSearch.html" target="_top"><B>FRAMES</B></A>
- <A HREF="MinimaxSearch.html" target="_top"><B>NO FRAMES</B></A>
- <SCRIPT type="text/javascript">
- <!--
- if(window==top) {
- document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
- }
- //-->
- </SCRIPT>
- <NOSCRIPT>
- <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
- </NOSCRIPT>
-
-
- </FONT></TD>
- </TR>
- <TR>
- <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
- SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
- <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
- DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
- </TR>
- </TABLE>
- <A NAME="skip-navbar_bottom"></A>
- <!-- ======== END OF BOTTOM NAVBAR ======= -->
-
- <HR>
-
- </BODY>
- </HTML>