Page 50 of 302

Re: Sandbox Discussions

Posted: Thu Jan 29, 2015 5:21 pm
by Shoal
i am now thinking about http://en.wikipedia.org/wiki/Conways_soldiers in relation to this blood lifespan problem but cant articulate. is different but feels similar in a mathy way.

Re: Sandbox Discussions

Posted: Thu Jan 29, 2015 6:25 pm
by DanielH
I think of it more as an infinite series; I can see how it might be similar to the soldiers but I don’t know enough about them to have any idea about the actual similarity.

Kappa, how’s your mathing going? If you don’t post any relevant mathing within the next few hours I’ll probably do it, but I won’t have a chance to really try before then. My intuition says “two vampires should be enough”, and my secondary intuition says “if two or three vampires aren’t enough no number of vampires will let you”, but I haven’t actually calculated it out either way.

Re: Sandbox Discussions

Posted: Thu Jan 29, 2015 6:43 pm
by Kappa
I haven't tried yet. Been tired. Might or might not get around to it soon.

Re: Sandbox Discussions

Posted: Thu Jan 29, 2015 6:58 pm
by Bluelantern
"I have a brother, who is also engaged to food. Female food," sighs Leekath, looking at the door again.

The door is back.

She goes toward it.

It disappears again.

"Damn it."

She sits back down.
The door trolled her! xD

Should the metal magic from mistborn work with dragon scales?

Re: Sandbox Discussions

Posted: Thu Jan 29, 2015 7:38 pm
by PlainDealingVillain
Should the metal magic from mistborn work with dragon scales?
Almost definitely. It might work even better, magic tends to synergize with other forms of magic in the Cosmere, so if I was sticking it into a sandbox I'd probably have it interact positively with other magic as well.

Re: Sandbox Discussions

Posted: Thu Jan 29, 2015 7:46 pm
by Alicorn
Only metallic dragons have literal metal scales.

Re: Sandbox Discussions

Posted: Thu Jan 29, 2015 8:42 pm
by Kappa
I wrote a program re: infinite lifespan hack. (It's in Racket.)

Code: Select all

#lang racket

(struct Vampire (lf nf yl) #:transparent #:mutable)
(struct Kama (lf yl vl) #:transparent #:mutable)

(define (feed v lf)
  (set-Vampire-nf! v (add1 (Vampire-nf v)))
  (set-Vampire-lf! v (/ (+ lf (Vampire-lf v)) (Vampire-nf v))))

(define (lifehack v)
  (let ([s (- (Vampire-lf v) (Vampire-yl v) 1)])
    (set-Vampire-lf! v (- (Vampire-lf v) s))
    s))

(define (addlife k n)
  (set-Kama-lf! k (+ (Kama-lf k) n)))

(define (vampcycle [k (Kama 2000 200 `(,(Vampire 100 1 0)))])
  (map (λ (v)
         (addlife k (lifehack v)))
       (Kama-vl k))
  (map (λ (v)
         (feed v (Kama-lf k)))
       (Kama-vl k))
  k)

(define (vcn [n 1] [k (Kama 2000 200 `(,(Vampire 100 1 0)))])
  (if (zero? n)
      k
      (vcn (sub1 n) (vampcycle k))))
Starting from a 200-year-old (presumably dragonish) kama with a lifespan of 2000 and a baby vampire who has had one meal with a lifespan of 100, and stealing all but a single year of the vampire's lifespan before each sip, the sip-steal-sip method seems to add a little more than a thousand years to the kama's lifespan every cycle.

With two baby vampires and one kama, the return is dramatically increased. With three, even more so.

I feel pretty confident in saying that the infinite lifespan hack will work. You might well need the vampire population to grow, but you might not need it to grow all that fast.

Someone who actually wants to play with formal proofs instead of toy programs might be able to shed more light, though.

Also this is without touching the ethics of addicting all those baby vampires to Arbitrary Lifespan Blood. Then again, I guess in this hypothetical all vampires are going to end up addicted to Arbitrary Lifespan Blood since everyone is going to be going around with arbitrarily high lifespans.

Re: Sandbox Discussions

Posted: Thu Jan 29, 2015 10:16 pm
by DanielH
I believe there's a problem with the above program: in feed, you don't weight the vampire's old lifespan by the number of previous meals. Shouldn't that function be:

Code: Select all

(define (feed v lf)
  (let ([total-lf (+ lf (* (Vampire-nf v) (Vampire-lf v)))])
    (set-Vampire-nf! v (add1 (Vampire-nf v)))
    (set-Vampire-lf! v (/ total-lf (Vampire-nf v)))))
This gives more lifespan.

This doesn't seem to account for vampire and kama aging; if you multiply all the initial lifespans by about 400 (to assume once per day feeding) and add one to the yl variables, this should be accounted for.

EDIT: Apparently this post wasn’t particularly clear. The first part is pointing out what I believe to be a bug in the feed function (whereby it uses the wrong numerator in the division); the second part about aging is pointing out that time passes while you attempt this scheme. The comment about “add one to the yl variables” was meant to be “add one to the yl variables, each time vcn is called”.

Re: Sandbox Discussions

Posted: Thu Jan 29, 2015 10:24 pm
by Kappa
I'm not sure I understand what you mean by "weight the vampire's old lifespan by the number of previous meals".

And I don't think I know what you mean by accounting for aging, either.

Re: Sandbox Discussions

Posted: Thu Jan 29, 2015 11:05 pm
by DanielH
Weighting lifespan:

Suppose that a 1000 year old vampire has had all their meals from dragons, and then is starving and needs to eat from a human. If we assume all vampires have 2000-year lifespans and all humans have 100-year lifespans, we’d expect the vampire’s lifespan to be slightly less than 2000 years, not halfway between 100 and 2000 years. If I read your program correctly, it’ll add the 100 to the 2000, and then divide by the total number of meals had (for a number much less than even 100, assuming weekly feedings)

---------

Aging vampires:

Vampires do not have infinite volume; a vampire can only eat so much in any given day. Between meals on dragon-lifespanned beings, vampires usually age about a week; between meals on Talyn, Leekath ages about a day. Put another way, they only eat once a week (day). Your program allows vampires to eat an arbitrary number of times without aging at all.