« first day (14 days earlier)    last day (15 days later) » 

BMO
BMO
00:04
@ASCII-only It just checks whether there were multiple rules applicable, if so the computation is not determinitic
I did some work on Alchemist, prints the universe and "compresses" rule:
Up to suggestions for output etc.
Also maybe debugging atoms?
@ASCII-only I don't understand what effectivelydeterministic is supposed to do?
Did you do some work on detecting multiple-rule cycles or the like?
 
8 hours later…
08:10
@BMO whether the output will be effectively identical
@BMO i never finished making it work
@BMO no - i'm not entirely sure how to do that, you'd need to identify which rules are part of a cycle among other things, and i just think it would require a pretty big overhaul to make it work efficiently
@BMO i'd still like the bogus rule detection, times a rule is applicable before the set of possible rules changes, and exit if program no longer outputs that are in my version
@BMO this would be nice, yes
09:00
@JoKing re: the breadth-first search, wdym by same state or whatever? (for caching) - the same rules applicable?
@ASCII-only if the number of each atom is the same
+ the same output and input has been used
:/ if that happens would it not be an infinite loop
also wow fast response lol
what if two branches return to the same state?
you don't want to calculate it twice
ah makes sense
i guess an infinite loop is also deterministic
just... infinite
09:03
true
i won't be surprised if this complexity is way too much (too many possible states) for all but the simplest programs and fully deterministic programs though :/
also hmmm BMO has updated to show better debugging and to collapse rules
yay
ooh, and character IO
:O really? nice
no maximum times applicable though
also peter taylor appears to have a faster one
but... afaict he selects a random rule then calculates how many times it can be applied
while ignoring the fact that there may be multiple applicable rules. there might be something i'm not seeing though
yeah, that wouldn't work
_->5a+c;a+c->b+c;c->
also clear and dump
@JoKing nah that's just what i think is happening, not 100% sure that's what he's actually doing - he's linked his interpreter on the alkanes answer
yeah, they haven't updated the readme yet
so what, clear clears the universe? and dump prints debug?
09:16
uhh brb checking
yeah looks like it
i'm imagining it in the form %a clearing a
also D: so much refactoring
nope it clears everything :/
i guess it's just a debug feature
no idea why clearing the universe is a debug feature, but... apparently it is
i guess it has a use in normal programs to halt or reset to just _, but no idea if that;s intended
also this keyboard is so weird small, always mistype enter when i reach for '
what about ;?
09:20
yes lol didn't even notice that
anyway... i guess time to send a PR adding the optimizations in
i'm just going to give up on the determinism check for now and figuring out better ways to optimize
since if we can do better optimization that's essentially better determinism checking as well, e.g. detecting things like a+b and a+c being able to be run at the same time
ok @BMO actually would you possibly accept a PR that adds the bogus rule, executing a rule multiple times if it's safe, and exiting the program if there's a non-outputting infinite loop that it can detect?
also ignore this, but... i tried to half-implement the new commits before i gave up (most importantly it has nice infinity not the hacky `-1` to detect times applicable):
https://tio.run/##7Vzrd9vGcv/Ov2IvohsCEUk9nN62iqlU1sNRq4cryrnpkVQZBJYiGhBgANCmEvtvT@c3s4uXSNlJz@nph8onILE7Mzs7Mzs7M7vM2M@nvwd@8fJlVydhd//4vR8Ppnnnt/5X6uzg4vXbg9fH6iTWy2gc69MkL/wk0HlPXT/O9egxSZPHWa31x0h/eOMXhc6SXH3V/9TpzNJwEWsFsspN50U0i37VPZUtkjdZ@tBTiySaPPbUkR4vHtzBwOupgyKdybfTZL4oiKpAXhGdnjr7YURf8TjSNMwsSqKcwT31Yaoz3elEs3maFeowTYosjQfnaeKHg1HhF5qeWRQUFuLIL/zB4dTPGg0naRz6NNdm4yIJiihNGo1nUd6kde4/jnWrZW4GVS597yk/JqZ7ahIl4d@j
the alkanes answer is cool
O_o
i can't even understand it lol
i suspect that the custom interpreter works because the answer is fully deterministic
oh, i'm not saying i understand it
@JoKing i'm pretty sure it's because of the optimization he used
active_rule = random.choice(applicable)
repetition_count = max_repetition_count(active_rule, state)
Also, hmm. I wonder if a graph of the previous/next states might be useful for figuring out how to optimize Alchemist
09:37
just tried it with
_->5a+c
a+c->c
c->Out_a
always outputs either 0 or 5
rip
well rip. so it optimizes a bit too much?
yeah, raising an issue now
hmm, would you combine identical rules into one?
cos that would affect random rule choices
i guess you could make rules have weights lol
 
6 hours later…
BMO
BMO
15:56
@JoKing I'm not yet sure about these atoms, currently % just clears the whole universe and ? dumps the complete state to stderr.
@ASCII-only I don't think it's possible in general, maybe recognizing some often recurring patterns is possible though.
@ASCII-only Sure, if something gets faster/more comfortable and nothing is changed with the probabilities of executions, I'd like that :)
@JoKing Yeah, atm that's the only way to implement weights (which is a bit restrictive since you can only have fractions)
 
3 hours later…
BMO
BMO
18:39
@ASCII-only I tried to adapt it, but I seem to have broken it:
Also why is there a new D3 flag? It doesn't seem to be needed :S
The thing is now that I changed the code, transform is not needed..
 
4 hours later…
22:18
@BMO hmm?
@BMO it was going to be so there was a debug level for effectivelyDeterministic
@BMO yeah sorry that was one i was working on
it should have all the optimizations i mentioned
BMO
BMO
@ASCII-only I'll see, things changed quite a bit.. Before it was just a quick and dirty thing, I did some refactoring :(
`_->10a+8b+s
s+a->s
s+b->s
s+0b->Out_a`
^ this is still not effectively deterministic, I don't understand what that means?
basically, output isn't guaranteed to be same
BMO
BMO
Ah, maybe shouldn't be an Out-atom, sorry
But same with 0a+0b+s->Out_"x" instead :(
BMO
BMO
22:55
@ASCII-only: imgur.com/a/9qtvIOY
But this stuff is not feasible at all, keeping track of all the variables is too much :(
:O
yeah, it'd only show part
BMO
BMO
Somehow I get a 404, probably takes some time (never did github.io static sites before)
Did some typescript to graph the stuff but it wip
Ah it needs /index.html: bforte.github.io/index.html
23:30
@BMO _->2a;a->b;0b->c breaks it
BMO
BMO
Yeah, most of it doesn't really work :S
One thing is zero-rules ^^
Also needs constant refresh, etc.

« first day (14 days earlier)    last day (15 days later) »