Fw: Re: Set of strings reducing problem
- To: mathgroup at smc.vnet.net
- Subject: [mg58657] Fw: [mg58595] Re: Set of strings reducing problem
- From: "Edson Ferreira" <edsferr at uol.com.br>
- Date: Tue, 12 Jul 2005 05:21:40 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
----- Original Message ----- From: "Edson Ferreira" <edsferr at uol.com.br> To: mathgroup at smc.vnet.net Subject: [mg58657] Re: [mg58595] Re: Set of strings reducing problem > Hello! > > I've tried this: > > In[21]:= > L={"111","11X","112","1X1","1XX","1X2","121","12X","122"} > Out[21]= > {111,11X,112,1X1,1XX,1X2,121,12X,122} > In[22]:= > cl=Characters/@L; > In[23]:= > r = Dispatch[{"1" + "X" -> "D", "1" + "2" -> "M", "1" + "U" -> "T", > "X" + "2" -> "U", "X" + "M" -> "T", "2" + "D" -> "T" }]; > In[24]:= > ncl =StringJoin @@@ ( cl //. { > x___List, > {a___, p_String, c___}, > {a___, q_String, c___}, > y___List } :> > { x, {a, p+q/.r,c}, y } /; > StringQ[(p+q)/.r]) > Out[24]= > {111,11X,112,1X1,1XX,1X2,121,12X,122} > > > As you can see, it didn't reduce my set of strings... > > Any clue? > > Thanks!! > > Edson > > P.S.: What are those symbols at your code: !!ll and <<ll ?? > Does your code run on Mathematica 5.1? > > > ----- Original Message ----- > From: <rolf at mertig.com> To: mathgroup at smc.vnet.net > Sent: Saturday, July 09, 2005 5:07 AM > Subject: [mg58657] [mg58595] Re: Set of strings reducing problem > > >> Hi, >> one possibility is to use simple pattern matching: >> >> >> Mathematica 5.2 for Linux x86 (64 bit) >> Copyright 1988-2005 Wolfram Research, Inc. >> -- Motif graphics initialized -- >> >> In[1]:= !!ll >> L={"11111111", >> "11112111", >> "1111X111", >> "21122211"}; >> cl=Characters/@L; >> >> r = Dispatch[{"1" + "X" -> "D", "1" + "2" -> "M", "1" + "U" -> "T", >> "X" + "2" -> "U", "X" + "M" -> "T", "2" + "D" -> "T" }]; >> >> ncl =StringJoin @@@ ( cl //. { >> x___List, >> {a___, p_String, c___}, >> {a___, q_String, c___}, >> y___List } :> >> { x, {a, p+q/.r,c}, y } /; >> StringQ[(p+q)/.r]) >> >> >> In[1]:= <<ll >> >> Out[1]= {1111T111, 21122211} >> >> -- >> Regards, >> >> Rolf Mertig >> GluonVision GmbH >> Berlin >> >>