• Create Account

# moneyvalve

Member Since 20 Mar 2003
Offline Last Active Jun 18 2016 05:02 PM

### In Topic: VS2012

23 May 2016 - 01:15 PM

Probably just a scheme by MS to pass off an invisible newline character and sow discord.

### In Topic: Local hash

23 May 2016 - 01:07 PM

Hey I made some progress. I tried setting all the mask bits to 1 and it always leads to all 1's irreversibly. If only 1 of the bits is 1, then it cycles back and forth between different ends of the range but doesn't cover all of it.

Basically you can solve for variables.

```
110 -> 000
010 -> 001
111 -> 010
001 -> 011

truth table boolean
i2	i1	i0		o2	o1	o0
0	0	0		1	1	1
...
0	0	1		0	1	1
1	1	0		0	0	0
0	1	0		0	0	1
1	1	1		0	1	0

//hash fun
o = (i << 1) | (i >> 31)
o = o ^ ~(i & m)
i = o
//repeat 32

o0[0] = i[2] ^ ~( i[0] & m0[0] )
o0[1] = i[0] ^ ~( i[1] & m0[1] )
o0[2] = i[1] ^ ~( i[2] & m0[2] )
o1[0] = o0[2] ^ ~( o0[0] & m1[0] )
o1[1] = o0[0] ^ ~( o0[1] & m1[1] )
o1[2] = o0[1] ^ ~( o0[2] & m1[2] )
o2[0] = o1[2] ^ ~( o1[0] & m2[0] )
o2[1] = o1[0] ^ ~( o1[1] & m2[1] )
o2[2] = o1[1] ^ ~( o1[2] & m2[2] )

truth table t ^ ~(i & m)
t	i	m			t2
0	0	0			1
0	0	1			1
0	1	0			1
0	1	1			0
1	0	0			0
1	0	1			0
1	1	0			0
1	1	1			1

train for 110 -> 000
o2[0] = 0
0 = o1[2] ^ ~( o1[0] & m2[0] )
so o1[2]=0 and ~( o1[0] & m2[0] )=0
o1[2]=0
so o1[0]=1 and m2[0]=1
so o0[2]=0 and ~( o0[0] & m1[0] )=1
so o0[2]=0 and o0[0]=0 and m1[0]=0
or o0[2]=0 and o0[0]=1 and m1[0]=0
or o0[2]=0 and o0[0]=0 and m1[0]=1
or o0[2]=1 and ~( o0[0] & m1[0] )=0
so o0[2]=1 and o0[2]=1 and o0[0]=1 and m1[0]=1
o0[2]=1  and o0[0]=1
so o0[2]=1 and i[2]=1 and ~( i[0] & m0[0] )=0
so o0[2]=1 and i[0]=1 and m0[0]=1
or o0[2]=1 and i[2]=0 and ~( i[0] & m0[0] )=1
so o0[2]=1 and i[0]=0 and m0[0]=0
or o0[2]=1 and i[0]=1 and m0[0]=0
or o0[2]=1 and i[0]=0 and m0[0]=1
or o1[2]=1 and ~( o1[0] & m2[0] )=1
so o1[2]=1 and o1[0]=0 and m2[0]=0
o1[2]=1 and o1[0]=0
so o1[2]=1 and o0[2]=1 && ~( o0[0] & m1[0] )=1
or o1[2]=1 and o0[2]=0 && ~( o0[0] & m1[0] )=0
or o1[2]=1 and o1[0]=1 and m2[0]=0
o1[2]=1 and o1[0]=1
so
or o1[2]=1 and o1[0]=0 and m2[0]=1
o1[2]=1 and o1[0]=0
so o1[2]=1 and o0[2]=1 && ~( o0[0] & m1[0] )=1
or o1[2]=1 and o0[2]=0 && ~( o0[0] & m1[0] )=0
etc.

just pick first one given restrictions, then pick for second applying the new restrictions,
and if it doesn't work, back up the last step and try different, and so on
```

```	truth table t ^ ~(i & m)
t	i	m			t2
0	0	0			1
0	0	1			1
0	1	0			1
0	1	1			0
1	0	0			0
1	0	1			0
1	1	0			0
1	1	1			1

o0[0] = i[2] ^ ~( i[0] & m0[0] )
o0[1] = i[0] ^ ~( i[1] & m0[1] )
o0[2] = i[1] ^ ~( i[2] & m0[2] )
o1[0] = o0[2] ^ ~( o0[0] & m1[0] )
o1[1] = o0[0] ^ ~( o0[1] & m1[1] )
o1[2] = o0[1] ^ ~( o0[2] & m1[2] )
o2[0] = o1[2] ^ ~( o1[0] & m2[0] )
o2[1] = o1[0] ^ ~( o1[1] & m2[1] )
o2[2] = o1[1] ^ ~( o1[2] & m2[2] )

therefore
o2[0] = o1[2] ^ ~( o1[0] & m2[0] )
o2[1] = o1[0] ^ ~( o1[1] & m2[1] )
o2[2] = o1[1] ^ ~( o1[2] & m2[2] )

therefore
o2[0] = ( o0[1] ^ ~( o0[2] & m1[2] ) ) ^ ~( o1[0] & m2[0] )
o2[1] = ( o0[1] ^ ~( o0[2] & m1[2] ) ) ^ ~( o1[1] & m2[1] )
o2[2] = ( o0[0] ^ ~( o0[1] & m1[1] ) ) ^ ~( o1[2] & m2[2] )

therefore
o2[0] = ( o0[1] ^ ~( o0[2] & m1[2] ) ) ^ ~( ( o0[2] ^ ~( o0[0] & m1[0] ) ) & m2[0] )
o2[1] = ( o0[1] ^ ~( o0[2] & m1[2] ) ) ^ ~( ( o0[0] ^ ~( o0[1] & m1[1] ) ) & m2[1] )
o2[2] = ( o0[0] ^ ~( o0[1] & m1[1] ) ) ^ ~( ( o0[1] ^ ~( o0[2] & m1[2] ) ) & m2[2] )

therefore
o2[0] = ( ( i[0] ^ ~( i[1] & m0[1] ) ) ^ ~( o0[2] & m1[2] ) ) ^ ~( ( o0[2] ^ ~( o0[0] & m1[0] ) ) & m2[0] )
o2[1] = ( ( i[0] ^ ~( i[1] & m0[1] ) ) ^ ~( o0[2] & m1[2] ) ) ^ ~( ( o0[0] ^ ~( o0[1] & m1[1] ) ) & m2[1] )
o2[2] = ( ( i[2] ^ ~( i[0] & m0[0] ) ) ^ ~( o0[1] & m1[1] ) ) ^ ~( ( o0[1] ^ ~( o0[2] & m1[2] ) ) & m2[2] )

therefore
o2[0] = ( ( i[0] ^ ~( i[1] & m0[1] ) ) ^ ~( ( i[1] ^ ~( i[2] & m0[2] ) ) & m1[2] ) ) ^ ~( ( o0[2] ^ ~( o0[0] & m1[0] ) ) & m2[0] )
o2[1] = ( ( i[0] ^ ~( i[1] & m0[1] ) ) ^ ~( ( i[1] ^ ~( i[2] & m0[2] ) ) & m1[2] ) ) ^ ~( ( o0[0] ^ ~( o0[1] & m1[1] ) ) & m2[1] )
o2[2] = ( ( i[2] ^ ~( i[0] & m0[0] ) ) ^ ~( ( i[0] ^ ~( i[1] & m0[1] ) ) & m1[1] ) ) ^ ~( ( o0[1] ^ ~( o0[2] & m1[2] ) ) & m2[2] )

therefore
o2[0] = ( ( i[0] ^ ~( i[1] & m0[1] ) ) ^ ~( ( i[1] ^ ~( i[2] & m0[2] ) ) & m1[2] ) ) ^ ~( ( ( i[1] ^ ~( i[2] & m0[2] ) ) ^ ~( o0[0] & m1[0] ) ) & m2[0] )
o2[1] = ( ( i[0] ^ ~( i[1] & m0[1] ) ) ^ ~( ( i[1] ^ ~( i[2] & m0[2] ) ) & m1[2] ) ) ^ ~( ( ( i[2] ^ ~( i[0] & m0[0] ) ) ^ ~( o0[1] & m1[1] ) ) & m2[1] )
o2[2] = ( ( i[2] ^ ~( i[0] & m0[0] ) ) ^ ~( ( i[0] ^ ~( i[1] & m0[1] ) ) & m1[1] ) ) ^ ~( ( ( i[0] ^ ~( i[1] & m0[1] ) ) ^ ~( o0[2] & m1[2] ) ) & m2[2] )

therefore
o2[0] = ( ( i[0] ^ ~( i[1] & m0[1] ) ) ^ ~( ( i[1] ^ ~( i[2] & m0[2] ) ) & m1[2] ) ) ^ ~( ( ( i[1] ^ ~( i[2] & m0[2] ) ) ^ ~( ( i[2] ^ ~( i[0] & m0[0] ) ) & m1[0] ) ) & m2[0] )
o2[1] = ( ( i[0] ^ ~( i[1] & m0[1] ) ) ^ ~( ( i[1] ^ ~( i[2] & m0[2] ) ) & m1[2] ) ) ^ ~( ( ( i[2] ^ ~( i[0] & m0[0] ) ) ^ ~( ( i[0] ^ ~( i[1] & m0[1] ) ) & m1[1] ) ) & m2[1] )
o2[2] = ( ( i[2] ^ ~( i[0] & m0[0] ) ) ^ ~( ( i[0] ^ ~( i[1] & m0[1] ) ) & m1[1] ) ) ^ ~( ( ( i[0] ^ ~( i[1] & m0[1] ) ) ^ ~( ( i[1] ^ ~( i[2] & m0[2] ) ) & m1[2] ) ) & m2[2] )

and
o[0] = ( ( i[0] ^ ~( i[1] & m0[1] ) ) ^ ~( ( i[1] ^ ~( i[2] & m0[2] ) ) & m1[2] ) ) ^ ~( ( ( i[1] ^ ~( i[2] & m0[2] ) ) ^ ~( ( i[2] ^ ~( i[0] & m0[0] ) ) & m1[0] ) ) & m2[0] )
o[1] = ( ( i[0] ^ ~( i[1] & m0[1] ) ) ^ ~( ( i[1] ^ ~( i[2] & m0[2] ) ) & m1[2] ) ) ^ ~( ( ( i[2] ^ ~( i[0] & m0[0] ) ) ^ ~( ( i[0] ^ ~( i[1] & m0[1] ) ) & m1[1] ) ) & m2[1] )
o[2] = ( ( i[2] ^ ~( i[0] & m0[0] ) ) ^ ~( ( i[0] ^ ~( i[1] & m0[1] ) ) & m1[1] ) ) ^ ~( ( ( i[0] ^ ~( i[1] & m0[1] ) ) ^ ~( ( i[1] ^ ~( i[2] & m0[2] ) ) & m1[2] ) ) & m2[2] )

```

But there are multiple ways to get a certain output bit at a level, so there are many possibilities to try. This is better than using 8-bit floats for every neuron. Instead you can do 64 neurons at once. And this is simpler on the silicon. I don't have a solution yet though. But maybe I'll solve it.

### In Topic: Future of economics, Step 1

23 May 2016 - 12:14 PM

Money is basically just a note that says "the world owes me stuff that it puts up for sale". How then, after you get that stuff, does anybody owe that person anything? It's just meant to perpetuate work. *runs away now* Oh man...

### In Topic: How to implement Cascaded Shadow Map technique ( simply )?

23 May 2016 - 10:48 AM

"pos" has to be different for each of the cascade splits. You want to place a shadow caster all along the player's view direction.

### In Topic: Animal-like AI

23 May 2016 - 10:38 AM

Maybe have light and minerals that they seek. The most you can do is a multi-cellular sponge intelligence.

PARTNERS