home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / theory / cellaut / 315 < prev    next >
Encoding:
Internet Message Format  |  1992-07-22  |  12.5 KB

  1. Path: sparky!uunet!dtix!darwin.sura.net!wupost!usc!sol.ctr.columbia.edu!The-Star.honeywell.com!umn.edu!lynx!nmsu.edu!opus!eiverson
  2. From: eiverson@nmsu.edu (Eric Iverson)
  3. Newsgroups: comp.theory.cell-automata
  4. Subject: Re: A soup computer
  5. Message-ID: <EIVERSON.92Jul22162432@ithaka.nmsu.edu>
  6. Date: 22 Jul 92 23:24:32 GMT
  7. References: <1992Jul21.104217.2901@jet.uk>
  8. Sender: usenet@nmsu.edu
  9. Organization: Computing Research Lab
  10. Lines: 238
  11. In-Reply-To: jpj@jet.uk's message of 21 Jul 92 10:42:17 GMT
  12.  
  13.  
  14. In article <1992Jul21.104217.2901@jet.uk> jpj@jet.uk (Jean-Paul V Jeral) writes:
  15.  
  16. > Once upon a time I attended a lecture where something remotely
  17. > relevant to "soup computation" was said. I took note of it.
  18. > Now I am unable to find that piece of paper and even to
  19. > remember who gave that lecture (It might have been Sherrington).
  20. > In the hope that someone can bring in more precision and
  21. > reliability, here is what I think I remember (no garantee given!):
  22.  
  23. I have done some work which is roughly analogous to what you're
  24. talking about, using the autocatalytic replication of proteins as a
  25. model for a program which composed music.  An ASCII version of a paper
  26. presented to the 1990 International Computer Music Conference
  27. follows:
  28.  
  29. Metabolizing Music
  30.  
  31. Eric Iverson and Roger Hartley
  32. Computing Research Lab
  33. Box 30001/3CRL
  34. New Mexico State University
  35. Las Cruces, NM 88003-0001
  36.  
  37. Abstract
  38.     Metamuse is a program that analyzes a piece of music by
  39. breaking it into its component parts, and then reassembling it into a
  40. similar piece.  This is done through autocatalytic set theory, which
  41. effectively allows portions of a string to break apart other portions,
  42. much like a conventional chemical reaction.  This produces a set of
  43. substrings that reflect the overall structure in that they are biased
  44. towards repetitive patterns present within the string as a whole.
  45. The autocatalytic process can then be run in reverse until a string
  46. which meets certain meta-selection constraints is produced.
  47.  
  48. Introduction
  49.     In the literature, there are a number of deterministic
  50. rule-based systems for the synthesis and analysis of music, (see, for
  51. example [2]).  However, it is clear that these systems are at best an
  52. approximation, in order that the rules can be used and understood by
  53. humans, and are at worst inadequate in the face of non-western
  54. tonality and various world music traditions.  To counter these
  55. potential shortcomings, we have chosen to take a self-organizing
  56. adaptive systems approach, where a priori knowledge is kept to a
  57. minimum.  Here, the user feeds the system pieces of music which it
  58. assimilates and then uses to generate a piece representative of the
  59. patterns derived from the originals. 
  60.  
  61. Autocatalytic Set Theory
  62.     This assimilation is done through the use of Autocatalytic Set
  63. Theory.  Briefly stated, an Autocatalytic Set is a set of strings
  64. where each member is the product of at least one reaction catalyzed by
  65. at least one other member.  A reaction occurs when a catalyst binds
  66. onto a corresponding site on a string, and breaks the string in two.
  67. Similarly, the reaction can occur in reverse; joining two strings
  68. together to create a larger string.  This allows an autocatalytic set
  69. of strings to effectively bootstrap itself; making strings of greater
  70. and greater length until some goal state or level of stability is
  71. reached.  Thus, autocatalytic sets can in some way simulate
  72. self-organizing behavior.
  73.  
  74. fig. 1
  75.         Binding              Catalytic Reaction
  76.      BCDEF                    BCDEF
  77.     ABCDEFGBCDEFGH                  /\
  78.                          /  \
  79.                           ABCD   EFGBCDEFGH
  80.  
  81.            BCDEF                BCDEF
  82.     ABCDEFGBCDEFGH                  /\
  83.                          /  \
  84.                         ABCDEFGBCD   EFGH
  85.  
  86.     In the above reaction, BCDEF functions as the catalyst for
  87. string ABCDEFGBCDEFGH.  It is important to note that there are two
  88. sites on the string that the catalyst can bind to.  This allows for a
  89. certain amount of non-determinism, although only one of the sites is
  90. ultimately chosen.
  91.     Autocatalysis, as it is being applied here, is essentially
  92. similar to using Markov Chains to analyze and then generate a string
  93. of elements.  However, there are differences.  For example, an
  94. autocatalytic analysis can be biased toward repetitive structures
  95. within a string.  This can be done by rewarding a string that
  96. successfully catalyzes a reaction by allowing it to replicate.  In
  97. this way, certain catalytic reactions will become more and more likely
  98. to occur as repetitive sites encourage the replication of their
  99. catalysts.  At the same time, a certain degree of mutation can be
  100. allowed during replication, which allows for potentially productive
  101. additions to the autocatalytic set.  In addition, unlike Markov
  102. Chains, autocatalysis can occur over a variety of different string
  103. lengths, thereby allowing large strings to act as templates for the
  104. creation of even larger strings containing the original catalyst as a
  105. subset.  This allows for the transferral of information at a variety
  106. of levels of complexity, thereby allowing for the possibility of
  107. repetitive patterns within the resultant string.
  108.  
  109. Algorithmic Composition
  110.     We take it that the goals of algorithmic composition are to
  111. produce "musical" compositions with the minimum amount of human
  112. interaction.  The spectrum of such techniques runs from full-blown
  113. composition tools with automatic generation of fixed musical patterns
  114. (repetitive rhythms especially) to the rule+random systems where a
  115. musical skeleton is produced by a set of rules, and then variations
  116. are generated by randomizing the parameters.  Examples are described
  117. in [6].  However, none of these techniques start from a given
  118. composition as the provider of musical ideas.  A set of rules for say,
  119. Bach chorales, or Top-40 tunes may be induced by lengthy analysis of
  120. many examples, but this is not the same as taking the ideas in one
  121. composition and working from that basis. Metamuse does just that.  Our
  122. techniques are independent of any particular compositional theory or
  123. personal biases.  Autocatalysis simply finds whatever patterns exist
  124. in the composition, and builds new compositions from these patterns
  125. taking their mutual compatibility into account.
  126.  
  127. Applying Autocatalysis to Music
  128.     Application of autocatalysis to music can be roughly divided
  129. into assimilation and regeneration.  Assimilation is used to break a
  130. string into lengths of 4 to 7 elements, thereby creating a base set
  131. from which to begin.  During the process of assimilation, it is likely
  132. that there will be points at which no further progress can be made
  133. without the introduction of a new catalyst.  These are generated by
  134. finding a random site on an existing string and allowing a binding to
  135. occur; creating a new catalyst out of unassociated single elements in
  136. the process.  This not only allows assimilation to continue, it also
  137. further defines the autocatalytic set.  After assimilation has been
  138. completed, regeneration takes place by using the existing inventory of
  139. strings to create longer and longer strings until some goal is met. 
  140.     In order to assimilate a piece of music, one must first
  141. isolate it into different series of elements.  These elements can
  142. correspond to aspects such as rhythm, pitch, interval, or any other
  143. salient feature the user wishes to isolate.  This is similar to work
  144. done by Conklin and Cleary [1] regarding the generation of music using
  145. multiple viewpoints.  It is important to remember that the individual
  146. strings should consist of elements drawn from a relatively small set,
  147. in order that repetitive patterns will be more likely to occur.  In
  148. the examples below, we have maximized repetition by using strings
  149. drawn from the set {a,b}.
  150.  
  151. fig. 2
  152.               (06)BBABA -> (07)BABBA*
  153.             (01)AABBA||BABAA(08)*
  154.  
  155.     Here BBABA is acting as a catalyst by breaking AABBABABAA into
  156. AABBA and BABAA.  It does this by binding onto a site on AABBABABAA
  157. where a one-to-one correspondence with its elements exists.  At the
  158. same time, BBABA is rewarded for catalyzing a reaction by being
  159. allowed to copy itself.  This copy is mutated (using a 5% probability
  160. of error) into BABBA.
  161.     When a piece has been completely assimilated, we are left with
  162. an inventory of strings from which to create a new piece.  The
  163. probability aspect of Markov Chains is here simulated as populations
  164. of each string type relative to the others (i.e. the number of members
  165. of a type of string is equivalent to its probability of occurrence.)
  166. To create larger strings, we merely reverse the previous process:
  167.  
  168. fig. 3 
  169.                (05)BAAAB -> (09)BAAAB*
  170.             (10)BABBAAABBA*
  171.             (07)BABBA||AABBA(01)
  172.  
  173.     Here BAAAB is creating a new string BABBAAABBA out of the
  174. existing strings BABBA and AABBA.  It also copies itself as BAAAB.  It
  175. is important to remember that when a string is copied or created, both
  176. it and the template string(s) still exist.  This allows us to build a
  177. growing inventory of strings which can act both as templates to create
  178. new strings, as well as catalysts for reactions. 
  179.  
  180. Meta-Selection Constraints
  181.     While autocatalysis is a powerful tool, it cannot in and of
  182. itself create strings of the length needed in an average musical
  183. piece.  One reason for this is that for every string of length N, at
  184. least two strings of average length N/2 are needed to create it.  In
  185. addition, since shorter strings take fewer reactions to create than
  186. longer strings, we end up with a distribution heavily weighted towards
  187. shorter strings, when in fact it is the longer strings that we are
  188. interested in.  Therefore, we can infer that strings over a certain
  189. length will become impractical if not impossible to generate.
  190.     However, there are ways to extend the length of strings that
  191. can be practically generated.  One way to do this is through a variant
  192. of simulated annealing.  Here we would only allow strings over a
  193. certain length to be generated, while setting a quota for the number
  194. of strings to be generated exceeding that length.  By gradually
  195. restricting the quota, while simultaneously raising the cutoff length,
  196. we will eventually generate a single string whose length matches our
  197. goal.  
  198.     This is analogous to a selection process, in that we start out
  199. with a large number of candidate strings and proceed to eliminate them
  200. until only one remains.  While this constrains the number of smaller
  201. strings that are generated, its main benefit is that it allows us to
  202. proceed toward a goal length at a faster rate than would normally
  203. occur.  This allows us to practically generate strings of longer
  204. length within a reasonable amount of time.
  205.     In addition, other meta-selection constraints could be applied
  206. to candidate strings before allowing them to be added to an existing
  207. autocatalytic set.  Some of the constraints which could potentially
  208. disallow the inclusion of candidate strings include:  presence of
  209. notes not in the original piece, notes falling outside of the range of
  210. the piece, and incompatibility with the statistical distribution of
  211. some aspect of the piece.
  212.     Statistical distribution could be arrived at by taking a
  213. feature such as intervalic distance, or note duration and averaging it
  214. over some arbitrary number of notes or measures.  Thus, we could take
  215. a candidate string and compare it to an existing statistical profile
  216. to see if it was "too busy" or lacked adequate contrast.  In addition,
  217. these average values could function as higher order sites for
  218. substrings to bind onto.  This binding could occur by stipulating that
  219. a substring have a similar average parameter value as its parent site.
  220. In this way a rudimentary hierarchical structure could be generated;
  221. giving the piece greater length, as well as greater internal
  222. structure.
  223.     In conclusion, we feel that autocatalytic sets are a
  224. potentially powerful method for generating pieces of music in a
  225. non-deterministic, yet internally consistent manner.
  226.  
  227. References
  228. [1]    Conklin, D., and Cleary, J. G.  "Modelling and Generating
  229.     Music using Multiple Viewpoints," Proceedings of the First
  230.     Workshop on Artificial Intelligence and Music, AAAI-88, 125-137, 1988.
  231. [2]     Ebcioglu, K.  "An Expert System for Harmonizing Four-part
  232.     Chorales," Computer Music Journal 12(3): 43-51, 1988. 
  233. [3]    Farmer, J. D., Kauffman, S. A., and Packard, N. H.
  234.     "Autocatalytic Replication of Polymers," Physica D, 22: 50-67, 1986.
  235. [4]    Kauffman, S. A.  "Autocatalytic Sets of Proteins," Journal of
  236.     Theoretical Biology, 119: 1-24,  1986.
  237. [5]    Schuster, P.  "Dynamics of Molecular Evolution," Physica D,
  238.     22: 100-119, 1986. 
  239. [6]    Zicarelli, D.  "M and Jam Factory," Computer Music Journal,
  240.     11(4): 13-29, 1987. 
  241.  
  242. --
  243. ------------------------------------------------------------------------
  244. Eric Iverson                Internet: eiverson@nmsu.edu
  245. Computing Research Lab
  246. Box 30001/3CRL                Life is something to do when
  247. New Mexico State University        you can't get to sleep.
  248. Las Cruces, NM 88003-0001            -Fran Lebowitz
  249. VOICE: (505) 646-5711    
  250. FAX:   (505) 646-6218
  251.