« first day (1471 days earlier)      last day (3671 days later) » 
01:00 - 22:0022:00 - 00:00

22:00
i had the idea of making it like a robber and cop challenge, you can submit a 'cat' or a 'catcher', but the problem was determining whether there is an optimal solution that you could bruteforce
Well, the key is to find the right board size.
now i had another idea: again robber and cop: but this time you just try to catch the cat (the cat cannot escape anyhow) but you have to do it in as few steps as possible
so the cat is always on the board, that means eithe ryou have 'walls' or we use a torroidal topology
Larger board sizes make it harder to brute force, but an easier win for the catcher.
what do you think of this?
I like the version with both cat and catcher programs.
22:04
what do you think of the idea that the cat will get caught anyway, but you have to try and catch it in the least number of steps
I'm not really sure...
why?
i think one could make some different test cases with different patterns of cells that already have been blocked
How will the cat AI be done?
thats the task of the robbers
or cops if you want
okay, I guess I misunderstood.
So the goal of the robbers will simply be to avoid capture for as long as possible?
22:11
exactly
@MartinBüttner Damnit posing all the cool challenges when I'm out of the house :P
@Sp3000 I'm not likely to solve it before you get home :P
each better robber would modify the cops answer?
That might be a better idea than escape/live, because we won't have to deal with balancing the board as much.
yeah
22:13
yep
@Sp3000 you can force re-evaluation of zero-width patterns with {n}, but that only gives you up to n repetitions. I need to find a way to have no limit at all
@randomra no i thought robber and cops only in the sence of a two-part challenge: you can submit as 'cat' or as 'catcher'
but you do not modify any code
[i think it is me who misunderstood robber-and-cops]
How would scoring be handled? Run every combination of cat and catcher, with the scores being the sum of times? Cats want to maximize their time, while robbers want to minimize it?
exactly
I'm not really sure if this is a cop-and-robbers challenge. Reminds me more of the Pac-Man challenge we had once. codegolf.stackexchange.com/questions/35661/programming-pac-man
22:15
yeah, i misunderstood the cop-and-robbers tag
@MartinBüttner Just to make sure I get what you're asking, what decides what this arbitrary number is?
it is basically a king of the hill challenge
it would be a multirole KOTH
with two parties
@Sp3000 well, the patterns obviously :P ... basically I want to find a way to do an arbitrary amount of stack shifting without consuming any characters of the input
22:16
yeah
An asymmetrical KOTH.
let me see if I can find my example again
i think you'd need separate rankings
i'm thinking about a battleship multirole KOTH, one generates the ships,one guesses
i thought we had something like that before
but not sure
22:18
@Sp3000 ((?<a>)(?<z>)|(?<b-a>)|(?<c-b>)|(?<-c>))*\k<z>(?(a)(?!))(?(b)(?!))(?(c)(?!))
the stuff inside * is what I want to repeat
@randomra no found nothing like this
the stuff after it is to ensure that a) something has been executed (i.e. the first alternative, which pushes something onto <z>), but also that the stacks <a>, <b>, <c> are empty (which means that the other parts of the repetition also have to be run, so I get to shift the stacks around until they are empty)
We would need separate rankings, but that shouldn't be too hard.
maybe two thread would worth it like in cops&robbers
what do you think about the boards: use a rectangular or hexagonal structure?
22:21
4 or 8 connect?
yeah thats why i first thought it was like cops&robbers
I don't recall a completely multirole KOTH happening before. Some of them covered two roles with one program, like Pac-Man.
id say 8 connect
8 connect?
with one step you can go in all 8 directiosn
or the cat can
with 4 you can only go up down left right
22:22
4 makes it too easy, I think
yeah
well the hexagonal field can be implemented on a rectangular one by allowing 6 neighbours
cats go through 0 size gap :)
haha
cats are liquids
=)
hex works very well
22:24
if you played the board game hex you get the strategy here too
8 connect will probably break the every-other-spot strategy.
yes because of the diagonals
so you think 6 connect would be not too complicated to understand ?
No, I don't think so, as long as we pick a good way to represent it.
well i'd have to explain it that this mimics a hexagonal grid
ok
so i just figured that even there a torroidal topology would work too
so some points in question would be: torroidal or walls, size of the grid, what programming language
any opinions on that?
I'm thinking toroidal + hex or walls + 8 connect...
22:35
that makes sense
4 connect + walls would be broken.
i think you could fifnish quite fast
A strategy is as simple as "place a wall next to the cat, between it and the furthest wall."
i tend to go for the hexagonal version, because the rectangular with 8 connect would be too similar to chess
8 connect will probably result in a very large section being filled in.
22:40
yeah
@MartinBüttner Hmm is it just me or does (?(a)(?<z-a>))* not work? I'm trying to move the whole stack but it only shifts once
what languages do you think are known to most people here?
or what languages are easiest to work with if you never used them before?=)
java?
To answer the first question.... java, python, ruby, etc.
how fast is ruby?
Java is probably the one most KOTHs have been written in.
22:44
hm ok
I wouldn't know.
wel i have never used ruby sofar
Actually, a bunch of KOTHs have been written in Python also.
I actually know some Java. That would be my choice.
mine too
@Sp3000 I'm surprised it even shifts once
22:47
so thank you very much for your inputs
gonna sleep over that
okay, I guess that settles it...
okay
the expression is zero-width, and quantifier usually ignore zero-width expressions, if they already have matched the minimum amount
@flawr sloooow
@MartinBüttner compared to what?
definitely compared to Java... but probably even compared to Python
do you known a more widely known language that is faster?
22:49
well Python
aha you are refering to ruby?
especially if you run the controller with Pypy
i thought you mean java
Damn :/ if only it kept running on zero-width...
no, I meant ruby
22:50
ok
@Sp3000 yeah...
@feersum I've beaten your looong 11-char BF submission for then N^2 char question :D codegolf.stackexchange.com/a/45510/7311
well i am too bad at python
(I mean it sort of makes sense for "normal" use cases of regular expressions)
you just cannot read python if you come from any other language....
one last question: does anyone know a recommendable git tutorial? I have never used git so far, only used svn once for a project but never really understood all the commands=)
22:52
@randomra I think someone could brute-force an optimal BF solution.
@PhiNotPi just thought the same
Although I don;t really expect to find any shorter solution.
filtering all nonterminating might be difficult though
@flawr one sec
this is a pretty good tour through the basics: rogerdudler.github.io/git-guide
and here is really good interactive tutorial that teaches you branching (with visualisation and everything): pcottle.github.io/learnGitBranching
There are 1977326742 BF programs of length 10 or shorter, If I calculated correctly.
Actually, that's not quite true.
A giant chunk would have unmatched brackets.
22:59
@flawr (the first link also has references to further guides)
@PhiNotPi around 7^9=40M 9-long
10 long we know exists
I think I messed up the "or shorter" part, anyways.
but how u know if they terminate?
Maybe we can place an upper bound on how long we should allow the program to run for.
this was the basic idea for a not-done challenge meta.codegolf.stackexchange.com/posts/4743/revisions
23:02
I think there are on the order or 34M 10-byte programs with matched brackets
(and you can ignore all those consisting only of brackets)
@randomra how bad can 10-byte BF busy-beavers be? :P
(probably pretty bad)
@MartinBüttner thanks, i'll look into that
good night everyone
or whatever time it is where you're living=)
good night
@MartinBüttner What about 9-byte (or shorter) BF programs?
don't die
lol... try googling "brainfuck busy beaver"... first hit is PPCG
23:04
we've become too popular of a website for our own good
@PhiNotPi 9 byte, something like 5 or 6M
I think brute-forcing is doable, right?
you really won't have any trouble with checking the first few copies of the snippet for correctness (by simply terminating execution after a second or so)
and if those work out, I'm sure you can prove correctness manually
but proving that terminated ones aren't solutions?
@randomra if you check the link, BF busy-beavers don't grow that fast, so if a short program doesn't terminate within half a second or so, you can be certain that it doesn't halt at all
23:10
if the 1 snippet halts correctly, but the 2 snippet doesn't?
maybe thats not possible
you can reject it as a solution once it prints more than n^2 characters.
I don't know how crazy 18-byte busy beavers are in BF
BB's get crazy quickly
yeah, but it looks like in BF you need to hit some critical mass first
and that doesn't happen within the first 9 bytes, so I don't know when it does happen
The loops will be limited in size based on the size of the snippet, so you won't have a whole bunch of sudden new complexity.
23:18
That busy beaver page is stupid
+[.+]
maybe it assumes no overflow?
that doesn't make sense though (in the context of BF)
"with cells holding arbitrary non-negative integers"
then it's a BF derivative
23:36
@MartinBüttner Trying to figure out why ((?<a>)(?<z>)){5}((?<a-z>)b)\2\2 only shifts once no matter how many bs I have in the input or \2s I add...
@feersum most program has some limit, in standard BF yours (or any BF code) too (from finite tape)
01:00 - 22:0022:00 - 00:00

« first day (1471 days earlier)      last day (3671 days later) »