Thanks for the heads up. I am currently not using @, @: in the gerund train.
To quickly explain what I am attempting, I am trying to build a symbolic regression solver, i.e. "guess the function". ( https://en.wikipedia.org/wiki/Symbolic_regression) The function to be guess in my original email was sin(x)+cos(x). My solver "guessed" correctly, using a genetic algorithm, but had a lot of junk lef tin the final answer... I guess analogous to junk DNA. At the moment my "chromosomes" are just gerund sequences, using no adverbs or conjunctions between them. The fitness function is measuring the closeness of applying to the input vars ( gerund sequence)`:6 to the target outputs. It works well, as a proof of concept at the moment. -------------------------------------------- On Tue, 3/27/18, Jose Mario Quintana <[email protected]> wrote: Subject: Re: [Jprogramming] Recognizing unused parts of a tacit verb train To: "Programming forum" <[email protected]> Date: Tuesday, March 27, 2018, 8:25 AM Simple gerunds are just a list of verbs, for example, u`v`w ┌─┬─┬─┐ │u│v│w│ └─┴─┴─┘ However, gerunds can have complex boxed structures, for example, (u@:v) `'' ┌──────────┐ │┌──┬─────┐│ ││@:│┌─┬─┐││ ││ ││u│v│││ ││ │└─┴─┘││ │└──┴─────┘│ └──────────┘ takeafter f.`'' ┌──────────────────────────────────────────────────────┐ │┌─┬──────────────────────────────────────────────────┐│ ││3│┌──┬─┬───────────────────────────────────────────┐││ ││ ││[:│]│┌─┬───────────────────────────────────────┐│││ ││ ││ │ ││3│┌────────────────────────────────┬──┬─┐││││ ││ ││ │ ││ ││┌─┬────────────────────────────┐│}.│]│││││ ││ ││ │ ││ │││3│┌─────────┬─┬──────────────┐││ │ │││││ ││ ││ │ ││ │││ ││┌─┬─────┐│+│┌─┬──────────┐│││ │ │││││ ││ ││ │ ││ │││ │││@│┌─┬─┐││ ││3│┌──┬──┬──┐││││ │ │││││ ││ ││ │ ││ │││ │││ ││#│[│││ ││ ││E.│i.│1:│││││ │ │││││ ││ ││ │ ││ │││ │││ │└─┴─┘││ ││ │└──┴──┴──┘││││ │ │││││ ││ ││ │ ││ │││ ││└─┴─────┘│ │└─┴──────────┘│││ │ │││││ ││ ││ │ ││ │││ │└─────────┴─┴──────────────┘││ │ │││││ ││ ││ │ ││ ││└─┴────────────────────────────┘│ │ │││││ ││ ││ │ ││ │└────────────────────────────────┴──┴─┘││││ ││ ││ │ │└─┴───────────────────────────────────────┘│││ ││ │└──┴─┴───────────────────────────────────────────┘││ │└─┴──────────────────────────────────────────────────┘│ └──────────────────────────────────────────────────────┘ So, if for a given tacit verb the aim to produce an equivalent tacit verb which is simpler, or has more a desirable form; then, one can certainly analyze and modify accordingly the gerund associated with the original verb (regardless how this original verb was produced) and use the (`:6) adverb to obtain the desired verb. (Since the structures are recursive in nature, a natural solution is to employ a recursive verb for producing the gerund associated to the desired verb; anyway, that is what I do) One word of caution: one must be aware of potential intended side effects, for example, u [ v and u might not be equivalent (even if v does not produce an error). On Sun, Mar 25, 2018 at 7:47 PM, 'Jon Hough' via Programming < [email protected]> wrote: > Thanks, this makes sense. Actually it is even easier, hopefully. The verb > is formed by `:6 a sequence of > gerunds. I can figure out which gerunds terminate which subsequences of > the gerund train before even > performing `:6. > > e.g +:`[`^ > only +: is evaluated. > > Thanks, > Jon > -------------------------------------------- > On Fri, 3/23/18, Henry Rich <[email protected]> wrote: > > Subject: Re: [Jprogramming] Recognizing unused parts of a tacit verb train > To: [email protected] > Date: Friday, March 23, 2018, 6:19 PM > > When dissect is constructing the > display, gets to > > (f [ h) > > it knows that the execution of > h is immaterial unless it encounters an > error. It displays only the f part. > > It then grays out any part of > the sentence that is not displayed. > > Notice that it also grays out the leading ] and > the ] in the @:], which > are also not > needed. > > There is an option > to display both sides of ][. > > Using the transformations > > (f [ h) -> f > (] g@]) -> > (] g) > (] g) -> g@] > (f@] g > h@])-> (f g h)@] > > you can > turn it into > > (2&o. + > 1&o.)@] > > Henry Rich > > > > On 3/23/2018 3:26 AM, 'Jon Hough' via > Programming wrote: > > Consider the > following tacit verb > > f1=: ] > (2&o.@:] + 1&o.@:] [ 5&+@:] 7&+@:] ([: <. > ]) 10&*@:] 7&*@:]) > > > > It looks strange, and is pretty long. The > interesting point is that only the left > > > section ] (2&o.@:] + 1&o.@:] is useful. The > rest of it is not evaluated. > > i.e. f1 is > equivalent to sin(x) + cos(x). > > > > I noticed that the dissect tool recognizes > this fact. > > dissect '(] (2&o.@:] > + 1&o.@:] [ 5&+@:] 7&+@:] ([: <. ]) > 10&*@:] 7&*@:])) 1' > > > > Everything but the sin(x) + cos(x) par tis > greyed out, implying it is not evaluated. > > My question is, how does dissect recognize > this? And is it possible to extract a simplified > > tacit verb from f1? > > > > > > > Thanks, > > Jon > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > --- > This email has been checked for viruses by > AVG. > http://www.avg.com > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
