home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 27 / IOPROG_27.ISO / SOFT / GRAPH.ZIP / AI / README < prev   
Encoding:
Text File  |  1997-04-04  |  5.1 KB  |  135 lines

  1. =============================================================================
  2.                         C++ SEARCH CLASS LIBRARY
  3.  
  4.                      Copyright (c) Peter M. Bouthoorn
  5.  
  6.                   ICCE, Groningen University, Netherlands
  7. =============================================================================
  8.  
  9. NEWSFLASH:
  10.  
  11. There's a new version of this software available, called AISearch II. It
  12. is currently in beta test, but don't let the term "beta" scare you,
  13. the code is actually stable, some "minor" things are missing (like an updated
  14. manual, and believe me, a lot has changed). AISearch II is available on:
  15.  
  16. ftp://obelix.icce.rug.nl/pub/peter/beta/aisrch2.tar.Z (UNIX)
  17. ftp://obelix.icce.rug.nl/pub/peter/beta/aisrch2.zip (DOS, Windows)
  18.  
  19. AISearch II is also featured in a book about object oriented AI and C++:
  20.  
  21. K.Tracy & P. Bouthoorn, "Object Oriented Artificial Intelligence Using C++",
  22. Computer Science Press, ISBN 0-7167-8294-4
  23.  
  24. For more information see the README that comes with AISearch II.
  25.  
  26.  
  27. COPYRIGHTS
  28. ==========
  29.  
  30. You're free to use, modify and distribute this software, as long as you
  31. don't pretend you wrote it all by yourself :-), i.e. please leave my
  32. name on it.
  33. If you like this software or find any bugs or other problems I would like
  34. to hear about it.
  35.  
  36.  
  37. DESCRIPTION
  38. ===========
  39.  
  40. The search class library is a software package I wrote during an intership.
  41. It is meant to be used as a tool for developing problem solving software.
  42. Basically, the library offers the programmer a set of search algorithms that
  43. may be used to solve all kind of different problems. The idea is that when
  44. developing problem solving software the programmer should be able to 
  45. concentrate on the representation of the problem to be solved and should
  46. not need to bother with the implementation of the search algorithm that will be
  47. used to actually conduct the search. This idea has been realized by the
  48. implementation of a set of search classes that may be incorporated in other
  49. software through C++'s features of derivation and inheritance.  The following
  50. search algorithms have been implemented:
  51.  
  52.     - depth-first tree and graph search.
  53.     - breadth-first tree and graph search.
  54.     - uniform-cost tree and graph search.
  55.     - best-first search.
  56.     - bidirectional depth-first tree and graph search.
  57.     - bidirectional breadth-first tree and graph search.
  58.     - AND/OR depth tree search.
  59.     - AND/OR breadth tree search.
  60.  
  61. Using one of these search methods in your own programs is just a matter of
  62. deriving a class from the desired search class and filling in the necessary
  63. parts.
  64. Turning the representation of the problem into actual source code is also made
  65. easier because the library demands that certain functions be used (these 
  66. - virtual - functions are called by several routines in the search library),
  67. which helps standardizing this process.
  68.  
  69. Although this package is meant as a tool for developing problem solving 
  70. software it is not meant exclusively for programmers that are familiar with
  71. the concept of problem representation and search techniques. The document
  72. accompanying this package first describes (though condensed) the theory of
  73. problem solving in AI and next explains how the search class library must be
  74. used. Furthermore, as the source code is richly commented and as also some
  75. demo programs are included the package should also prove useful to people that
  76. want to get acquainted with the subject.
  77.  
  78.  
  79.  
  80. COMPILING
  81. =========
  82.  
  83. There are two kinds of makefiles present: one for BCC (this is the
  84. standard makefile), but it should be easy to modify it for other compilers,
  85. and another for GCC under UNIX.
  86. When compiling with MSC you may want to use the define -DMSC, this is to
  87. solve some problems concerning the different format of the _set_new_handler()
  88. function that is used by this compiler.
  89. When compiling under UNIX you must first rename all .cpp files to .cc.
  90. Demo programs that make use of the search class library are in /demos, they
  91. must must be made seperately from the other sources.
  92.  
  93.  
  94. DOCUMENTATION
  95. =============
  96.  
  97. Documentation is in directory /doc. The documentation comes in three
  98. formats:
  99.  
  100.     - search.tex: latex.
  101.     - search.dvi: device independent output.
  102.     - search.ps : postscript.
  103.  
  104. In these docs you'll find a short introduction to the theory of
  105. problem-solving in AI and an explanation of how the search library must
  106. be used.
  107.  
  108.  
  109. SOURCE CODE
  110. ===========
  111.  
  112. File names (in directory /src/) starting with 'g' denote graph
  113. searching routines and those starting with 't' denote tree searching
  114. routines.
  115. I feel that the source is a bit overcommented, but I hope this
  116. raises the educational value of this package (ahem).
  117.  
  118.  
  119. NOTES
  120. =====
  121.  
  122. Note that because some routines in the search library make use of recursion
  123. (namely, those routines that are used to print the solution to a problem)
  124. it may be necessary to increase the stack size when linking in the library
  125. (hasn't happened to me so far - or else, compile everything under UNIX :-).
  126.  
  127.  
  128. Peter Bouthoorn
  129. Jan Steenstr 12
  130. 9312 PV Nietap
  131. The Netherlands
  132.  
  133. peter@icce.rug.nl,
  134. or: peter@freedom.nmsu.edu (thanks Jeff!)
  135.