...Clarification: it's the Nim-addition table that has 0s down the
main diagonal, not the Nim-multiplication table.

I've updated http://www.jsoftware.com/jwiki/Doc/Articles/Play191 to
include all this new material: nimsum, label and References.

Ian


On Tue, Nov 17, 2009 at 10:05 AM, Ian Clark <earthspo...@googlemail.com> wrote:
> Thanks, Fraser, for tracking that down. Yes, that works fine!
>
> Vector 19.1 is one of the few editions I don't happen to have. I'm
> wondering where I got the original copy of Play191 from...
>
> FYI, I note:
>
>   nimsum
> ~:/&.#:@,"0/~
>   NS
> ~:/&.#:
>   NS 3 6
> 5
>   nimsum 3 6
> 0 5
> 5 0
>
> ...and so on, for all the args I've tried.
> So they're not so very different. I guess nimsum is more efficient for
> calculating the table (a symmetric matrix with 0s down the diagonal)
> because it provides 2 entries at once.
>
> Ian
>
>
> On Tue, Nov 17, 2009 at 9:11 AM, Fraser Jackson
> <fraser.jack...@xtra.co.nz> wrote:
>> In the printed copy  (Vector 19.1) it gives
>>
>> nimsum =: ~:/&.#:@,"0/~    NB. EEmcD
>>
>> That gives the correct results from Mike Day's function.
>>
>> Fraser
>>
>> ----- Original Message -----
>> From: "Ian Clark" <earthspo...@googlemail.com>
>> To: "Programming forum" <programming@jsoftware.com>
>> Sent: Tuesday, November 17, 2009 7:27 AM
>> Subject: Re: [Jprogramming] APWJ Chapter 31: missing object: nimsum
>>
>>
>> I haven't explained the problem well enough.
>>
>> Let me try and do so without making suppositions which conceal where
>> the error actually lies.
>>
>> Play191 exhibits a function NS, which calculates a statistic called
>> the "nim sum" which helps you win at the game of Nim. NS maps into a
>> domain of numbers which Conway & Guy call "nimbers", with their own
>> idiosyncratic addition & multiplication.
>>
>> Having discussed the addition of nimbers, the paper discusses their
>> multiplication. It offers two verbs for producing the multiplication
>> table of nimbers. Both are called mt. I propose to call the one by
>> Mike Day mtMD, which (quote) "accurately translates" a Maple program
>> (not shown, but viewable at the OEIS site).
>>
>> Now mtMD won't work as it stands, because it uses an entity (verb?)
>> named nimsum, which is nowhere defined. What is nimsum?
>>
>> I conjecture that nimsum is precisely the NS which is defined earlier.
>> So accordingly I assign: nimsum=: NS
>> Hey presto, mtMD now works, and it computes the following table:
>>
>>   mtMD 4
>> 0 0 0 0 0
>> 0 1 2 3 4
>> 0 2 3 3 4
>> 0 3 3 3 3
>> 0 4 4 3 8
>>
>> However, when you compare it with mt, they don't give the same result,
>> which I conjecture they should:
>>
>>   mt 5   NB. (index-origin strikes again!)
>> 0 0 0  0  0
>> 0 1 2  3  4
>> 0 2 3  1  8
>> 0 3 1  2 12
>> 0 4 8 12  6
>>
>> Now in view of the "correct" 15-by-15 multiplication table at the end
>> of the article, mt is giving the right result but mtMD isn't.
>> Accordingly I deduce that the assumption: nimsum <--> NS is an unsound
>> one. So what should the missing verb nimsum really be?
>>
>> Ian
>>
>>
>> On Mon, Nov 16, 2009 at 2:31 AM, Henry Rich <henryhr...@nc.rr.com> wrote:
>>> To me, nimsum is what you use to solve the game of Nim. It is NS as
>>> described in the article. A Nim position with nimsum=0 is a loser for
>>> the player with the move. You calculate it by writing the number of
>>> stones in the piles in binary, and adding them up in binary, EXCEPT that
>>> you discard any carries produced during the addition.
>>>
>>> You win a Nim game by always making a move that leaves the nimsum=0. It
>>> is easy to prove that such a move is possible iff the nimsum is not 0
>>> already.
>>>
>>> Henry Rich
>>>
>>> Ian Clark wrote:
>>>> In: http://www.jsoftware.com/jwiki/Doc/Articles/Play191 (Chapter 31, J
>>>> be nimble, J be quick)
>>>> the version of mt attributed to Mike Day fails with value error: nimsum
>>>>
>>>> Can anyone see what nimsum is supposed to be? It only occurs once
>>>> (outside a comment). I've tried equating it to the verb NS, the "nim
>>>> sum" derived at the start of the article, but although mt then runs,
>>>> it does not produce the same table as the previous definition of mt
>>>> (quite apart from needing to be run as (mt 4) not (mt 5) like the
>>>> previous one).
>>>>
>>>> Ian Clark
>>>> Subeditor, APWJ Edn 2.
>>>> ----------------------------------------------------------------------
>>>> 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
>>
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to