Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #29740

Re: Condition fullfilled to early "sometimes"

Newsgroups comp.lang.javascript
Date 2016-03-01 01:03 -0800
References <6ed0a1f8-d173-4de6-aff6-3590b34072d4@googlegroups.com>
Message-ID <65c8fd95-aefc-452e-ba2b-c4a94b1e7e1d@googlegroups.com> (permalink)
Subject Re: Condition fullfilled to early "sometimes"
From jonas.thornvall@gmail.com

Show all headers | View raw


Den tisdag 1 mars 2016 kl. 06:31:39 UTC+1 skrev jonas.t...@gmail.com:
> I've been looking at the code for two days so i am a bit crosseyed.
> If anyone could help me set the condition so the loop catch the last pair/pairs, it is kind of weird that it succeed sometimes and break to early and report fail others.
> 
> I would be very greatful if anyone can see why it break to early when return fail. Although a succes of uniform network is possible. 
> 
> It is a minor bug due to some condition that i just not get.
> 
> http://jt.node365.se/mydebug1.html

The program creates search for uniform networks, that is x nodes each with y links. Only a subset of permutations possible "easiest found out with pen and paper". So to the left is the node and to the right the nodes it links to.

When you run new network, sometimes it is full every node have x links, you create a uniform network. But often ir reports fail the links was exhausted and you stuck into a loop, that i fortunatily have the conditions to break.

But it *sometimes* break to early when there is still one or two pairs that would had worked. Not it is easy to make a fix for those, but it certainly would be more beautiful setting the correct condition.

Here is sample output and as you can see there is no reason to not create the last pair, the link is not a copy it should be created but condition somehow wrong *sometimes*.

Hurray failed generate network ***not quite if single pair two nodes missing
0'st NODE Links-> 7,3,5
1'st NODE Links-> 4,6,3
2'st NODE Links-> 5,9,3
3'st NODE Links-> 0,1,2
4'st NODE Links-> 1,8,5
5'st NODE Links-> 0,2,4
6'st NODE Links-> 1,7,9
7'st NODE Links-> 0,6,8
8'st NODE Links-> 4,7
9'st NODE Links-> 2,6 


And here is the actual function doing it.

function createLinks()
{
   var i = 0;
   var j = 0;

   while(i < nodes)
   {
// This see so that links already generated accounted for if one link than j
      j = arr[i].nodelinks.length;
      stupid = nodes - 1;
      temparr = new Array();
      while(j < links)
      {
         dublett = false;
         // Onlygenerate random values bigger than "i" else all links  exhausted
         if(i == 0)
         {
            aLink = Math.floor(Math.random() * (nodes - 1));
            aLink ++ ;
         }
         else
         {
            aLink = Math.floor(Math.random() * (stupid - i)) + i + 1;
         }
         if (aLink == nodes)aLink -- ;

         if (temparr[0] == null)
         {
            temparr[0] = aLink;
         }
         for(k = 0; k < arr[i].nodelinks.length; k ++ )
         {
            if(aLink == arr[i].nodelinks[k])
            {
               dublett = true;
            }
         }
         inmylist = false;
         var t = 0;
         for(var m = 0; m < temparr.length; m ++ )
         {
            if(temparr[m] == aLink)
            {
               inmylist = true;
            }
         }
         if (inmylist == false)
         {
            temparr[temparr.length] = aLink;
         
         }
         else
         {
            inmylist = false
         }
         scope = (nodes - 1) - i;
         if (temparr.length >= scope)
         {
            myboolean = false;
            return myboolean;
         }
       
         if(dublett == false && arr[aLink].nroflinks < links)
         {
            arr[i].nodelinks[arr[i].nodelinks.length] = aLink;
            arr[aLink].nodelinks[arr[aLink].nodelinks.length] = i;
            arr[i].nroflinks ++ ;
            arr[aLink].nroflinks ++ ;
            j ++ ;
         }
      }
      i ++ ;
   }
   myboolean = true;
   return myboolean;
} 

Back to comp.lang.javascript | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Condition fullfilled to early "sometimes" jonas.thornvall@gmail.com - 2016-02-29 21:31 -0800
  Re: Condition fullfilled to early "sometimes" jonas.thornvall@gmail.com - 2016-03-01 01:03 -0800
    Re: Condition fullfilled to early "sometimes" Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-01 11:55 +0000
      Re: Condition fullfilled to early "sometimes" jonas.thornvall@gmail.com - 2016-03-01 05:28 -0800
        Re: Condition fullfilled to early "sometimes" jonas.thornvall@gmail.com - 2016-03-01 07:49 -0800
          Re: Condition fullfilled to early "sometimes" jonas.thornvall@gmail.com - 2016-03-01 23:24 -0800
            Re: Condition fullfilled to early "sometimes" jonas.thornvall@gmail.com - 2016-03-02 00:41 -0800
              Re: Condition fullfilled to early "sometimes" Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-02 10:43 +0000
                Re: Condition fullfilled to early "sometimes" jonas.thornvall@gmail.com - 2016-03-02 02:57 -0800
                Re: Condition fullfilled to early "sometimes" Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-02 11:08 +0000
                Re: Condition fullfilled to early "sometimes" jonas.thornvall@gmail.com - 2016-03-02 05:53 -0800
                Re: Condition fullfilled to early "sometimes" Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-02 16:27 +0000
                Re: Condition fullfilled to early "sometimes" jonas.thornvall@gmail.com - 2016-03-02 09:25 -0800
                Re: Condition fullfilled to early "sometimes" Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-02 20:22 +0000
                Re: Condition fullfilled to early "sometimes" jonas.thornvall@gmail.com - 2016-03-02 02:59 -0800
                Re: Condition fullfilled to early "sometimes" jonas.thornvall@gmail.com - 2016-03-02 03:10 -0800
                Re: Condition fullfilled to early "sometimes" Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-03-02 12:41 +0000
      Re: Condition fullfilled to early "sometimes" jonas.thornvall@gmail.com - 2016-03-02 01:42 -0800
  Re: Condition fullfilled to early "sometimes" John Harris <niam@jghnorth.org.uk.invalid> - 2016-03-01 10:47 +0000

csiph-web