2012-10-12T01:25:27 *** mceier has quit IRC (Quit: leaving) 2012-10-12T02:11:21 *** jbroman has quit IRC (Ping timeout: 246 seconds) 2012-10-12T02:11:29 *** jbroman has joined #aichallenge 2012-10-12T02:29:45 *** pairofdice has joined #aichallenge 2012-10-12T02:41:39 *** dici has joined #aichallenge 2012-10-12T02:42:11 *** mceier has joined #aichallenge 2012-10-12T02:55:11 *** epicmonkey has joined #aichallenge 2012-10-12T03:18:20 *** Accoun has quit IRC (Remote host closed the connection) 2012-10-12T03:21:06 *** epicmonkey has quit IRC (Ping timeout: 245 seconds) 2012-10-12T04:03:14 *** mlp has joined #aichallenge 2012-10-12T04:25:46 *** dici has quit IRC (Quit: ( www.nnscript.com :: NoNameScript 4.22 :: www.esnation.com )) 2012-10-12T04:44:20 *** sml9 has joined #aichallenge 2012-10-12T04:49:07 *** epicmonkey has joined #aichallenge 2012-10-12T04:55:15 *** sml9 has quit IRC (Quit: Page closed) 2012-10-12T05:07:17 *** mcstar has joined #aichallenge 2012-10-12T05:10:38 *** Accoun has joined #aichallenge 2012-10-12T05:15:43 *** sigh has joined #aichallenge 2012-10-12T05:31:01 *** antimatroidl has quit IRC (Ping timeout: 255 seconds) 2012-10-12T05:32:28 *** antimatroidl has joined #aichallenge 2012-10-12T06:03:43 *** heinrich5991 has quit IRC (Ping timeout: 260 seconds) 2012-10-12T06:18:23 *** mceier has quit IRC (Ping timeout: 248 seconds) 2012-10-12T06:19:38 *** mceier has joined #aichallenge 2012-10-12T06:20:25 *** heinrich5991 has joined #aichallenge 2012-10-12T06:26:44 *** sigh_ has joined #aichallenge 2012-10-12T06:44:22 *** Kakwa has quit IRC (*.net *.split) 2012-10-12T06:44:23 *** sigh has quit IRC (*.net *.split) 2012-10-12T06:44:23 *** Areks has quit IRC (*.net *.split) 2012-10-12T06:44:23 *** loglog has quit IRC (*.net *.split) 2012-10-12T06:44:24 *** mceier has quit IRC (*.net *.split) 2012-10-12T06:44:25 *** Eibwen has quit IRC (*.net *.split) 2012-10-12T06:44:25 *** raedwulf has quit IRC (*.net *.split) 2012-10-12T06:44:28 *** AlliedEnvy has quit IRC (*.net *.split) 2012-10-12T06:44:29 *** Accoun has quit IRC (*.net *.split) 2012-10-12T06:44:30 *** Apophis_ has quit IRC (*.net *.split) 2012-10-12T06:44:32 *** yoden1 has quit IRC (*.net *.split) 2012-10-12T06:44:32 *** mcstar has quit IRC (*.net *.split) 2012-10-12T06:44:32 *** pairofdice has quit IRC (*.net *.split) 2012-10-12T06:44:33 *** alehorst has quit IRC (*.net *.split) 2012-10-12T06:44:33 *** sevikkk has quit IRC (*.net *.split) 2012-10-12T06:44:35 *** ivan`` has quit IRC (*.net *.split) 2012-10-12T06:44:36 *** Chris_0076 has quit IRC (*.net *.split) 2012-10-12T06:44:37 *** wentam has quit IRC (*.net *.split) 2012-10-12T06:44:37 *** ejls has quit IRC (*.net *.split) 2012-10-12T06:44:38 *** jbroman has quit IRC (*.net *.split) 2012-10-12T06:44:39 *** mviel has quit IRC (*.net *.split) 2012-10-12T06:44:39 *** bqf has quit IRC (*.net *.split) 2012-10-12T06:44:41 *** ronchamon has quit IRC (*.net *.split) 2012-10-12T06:44:44 *** epicmonkey has quit IRC (*.net *.split) 2012-10-12T06:44:44 *** janzert has quit IRC (*.net *.split) 2012-10-12T06:44:45 *** skyj has quit IRC (*.net *.split) 2012-10-12T06:44:46 *** dschlyter has quit IRC (*.net *.split) 2012-10-12T06:44:47 *** sh4wn has quit IRC (*.net *.split) 2012-10-12T06:44:47 *** mattswe has quit IRC (*.net *.split) 2012-10-12T06:44:47 *** FireFly has quit IRC (*.net *.split) 2012-10-12T06:44:48 *** SJRvanSchaik has quit IRC (*.net *.split) 2012-10-12T06:44:48 *** welterde has quit IRC (*.net *.split) 2012-10-12T06:44:49 *** JamesMG has quit IRC (*.net *.split) 2012-10-12T06:46:46 *** mceier has joined #aichallenge 2012-10-12T06:46:46 *** Accoun has joined #aichallenge 2012-10-12T06:46:46 *** mcstar has joined #aichallenge 2012-10-12T06:46:46 *** epicmonkey has joined #aichallenge 2012-10-12T06:46:46 *** pairofdice has joined #aichallenge 2012-10-12T06:46:46 *** jbroman has joined #aichallenge 2012-10-12T06:46:46 *** Chris_0076 has joined #aichallenge 2012-10-12T06:46:46 *** alehorst has joined #aichallenge 2012-10-12T06:46:46 *** sh4wn has joined #aichallenge 2012-10-12T06:46:46 *** Areks has joined #aichallenge 2012-10-12T06:46:46 *** janzert has joined #aichallenge 2012-10-12T06:46:46 *** loglog has joined #aichallenge 2012-10-12T06:46:46 *** mviel has joined #aichallenge 2012-10-12T06:46:46 *** Apophis_ has joined #aichallenge 2012-10-12T06:46:46 *** Eibwen has joined #aichallenge 2012-10-12T06:46:46 *** mattswe has joined #aichallenge 2012-10-12T06:46:46 *** Kakwa has joined #aichallenge 2012-10-12T06:46:46 *** wentam has joined #aichallenge 2012-10-12T06:46:46 *** FireFly has joined #aichallenge 2012-10-12T06:46:46 *** bqf has joined #aichallenge 2012-10-12T06:46:46 *** AlliedEnvy has joined #aichallenge 2012-10-12T06:46:46 *** raedwulf has joined #aichallenge 2012-10-12T06:46:46 *** SJRvanSchaik has joined #aichallenge 2012-10-12T06:46:46 *** sevikkk has joined #aichallenge 2012-10-12T06:46:46 *** ejls has joined #aichallenge 2012-10-12T06:46:46 *** ronchamon has joined #aichallenge 2012-10-12T06:46:46 *** skyj has joined #aichallenge 2012-10-12T06:46:46 *** dschlyter has joined #aichallenge 2012-10-12T06:46:46 *** ivan`` has joined #aichallenge 2012-10-12T06:46:46 *** yoden1 has joined #aichallenge 2012-10-12T06:46:46 *** JamesMG has joined #aichallenge 2012-10-12T06:46:46 *** welterde has joined #aichallenge 2012-10-12T06:47:00 *** Accoun has quit IRC () 2012-10-12T07:02:38 *** Scooper has joined #aichallenge 2012-10-12T07:27:59 *** Accoun has joined #aichallenge 2012-10-12T07:39:05 *** antimatroidl has quit IRC (Ping timeout: 244 seconds) 2012-10-12T07:39:46 *** antimatroidl has joined #aichallenge 2012-10-12T08:07:56 *** mleise has joined #aichallenge 2012-10-12T08:11:40 *** iglo has joined #aichallenge 2012-10-12T08:12:22 mleise: hai 2012-10-12T08:12:34 ho buddy 2012-10-12T08:12:36 *hi 2012-10-12T08:12:40 38s on the benchmark 2012-10-12T08:13:19 sounds like you added strategies to the algorithm ? 2012-10-12T08:13:23 no 2012-10-12T08:13:57 branch + fix value if its unique within block 2012-10-12T08:14:29 ive just changed bits and parts, and permuted things 2012-10-12T08:14:44 now im reading this page http://www.su-doku.net/tech.php 2012-10-12T08:14:51 first thing ive ever read about sudoku 2012-10-12T08:15:11 and it mentions a couple of techniques that i used when i actually solved them by hand 2012-10-12T08:15:16 so, i should add those 2012-10-12T08:16:37 I never knew there was anything more than 'single cell' and 'locked candidates' 2012-10-12T08:17:11 http://www.braingle.com/games/sudoku/lc.php (they list 5 strategies there) 2012-10-12T08:17:40 mleise: so, what is that your program does? 2012-10-12T08:17:49 besides what mine does 2012-10-12T08:19:09 oh 2012-10-12T08:19:21 probably this 'locked candidtas' then 2012-10-12T08:20:10 no I don't think so, it's just faster 2012-10-12T08:20:54 hm 2012-10-12T08:21:03 im reluctant to believe that 2012-10-12T08:21:07 haskell is fast 2012-10-12T08:21:23 I just do a very in depth search for single values 2012-10-12T08:21:49 and do that whenever I fix a value 2012-10-12T08:22:03 in principle the algorithm is that simple 2012-10-12T08:22:19 mleise: do you eliminate unique candidates within a block? 2012-10-12T08:23:42 if not, then ill be writing a brute force solver in c++ right away 2012-10-12T08:23:47 or ocaml 2012-10-12T08:24:29 what's that ? 2012-10-12T08:24:40 what's what? 2012-10-12T08:24:40 why would I eliminate them? 2012-10-12T08:24:49 because it speeds things up 2012-10-12T08:24:55 less candidates to branch on 2012-10-12T08:24:59 I want to keep them, and call them solution 2012-10-12T08:25:17 eliminate means fix it 2012-10-12T08:25:51 well, yes if there is only one place a '1' can go within a 'shape' I fix it 2012-10-12T08:26:00 take a unit, like a block, look at all the non-fixed squares, if within the union of the candidates, you see a unique number, you fix it 2012-10-12T08:26:29 I think my algorithm still left out a few though, if they were created very indirectly 2012-10-12T08:26:52 ok, so you didnt program in anything else? 2012-10-12T08:27:00 no 2012-10-12T08:27:10 fuck then 2012-10-12T08:27:30 ill still try to write that in a non-haskell language 2012-10-12T08:27:32 _I'm just starting to add real algorithms_ 2012-10-12T08:28:42 though I wonder if with my refactoring I lost some solutions. I have to investigate, since puzzle #1, as you know, could be solved without branching previously 2012-10-12T08:29:03 maybe my Map:(Coord->Set:Int) approach is simply inherently slow 2012-10-12T08:29:24 mleise: i can solve that very fast now even with braching 2012-10-12T08:29:30 and with reduction ofc 2012-10-12T08:29:39 either-or 2012-10-12T08:29:57 there are harder puzzles in that set 2012-10-12T08:29:59 but you need branching, right? so what did my algorithm do there to avoid it ? 2012-10-12T08:30:19 mleise: no, i dont need branching to solve #1 2012-10-12T08:30:35 if i write out, in 5 simplification steps it reached the solution 2012-10-12T08:30:36 kk 2012-10-12T08:30:50 damn 2012-10-12T08:33:00 I seem to not understand that algorithm once again 2012-10-12T08:34:06 im around 100lines, thats perfectly understandable 2012-10-12T08:34:12 but apparently slow 2012-10-12T08:34:18 (angry face) 2012-10-12T08:39:18 *** AlliedEnvy has quit IRC (Ping timeout: 246 seconds) 2012-10-12T08:42:10 *** AlliedEnvy has joined #aichallenge 2012-10-12T08:46:47 *** Dukeling has joined #aichallenge 2012-10-12T08:48:21 *** Dukeling has quit IRC (Client Quit) 2012-10-12T09:06:54 *** iglo has quit IRC (Remote host closed the connection) 2012-10-12T09:07:48 mleise: lol, im priting a string from c++ and i get a segmentation fault 2012-10-12T09:07:54 unbelievable 2012-10-12T09:08:05 I know... 2012-10-12T09:08:16 a simple printf can crash your app 2012-10-12T09:08:54 no printf 2012-10-12T09:08:59 maybe use "cout << "abc";" 2012-10-12T09:09:00 stringstream 2012-10-12T09:09:02 oh 2012-10-12T09:09:18 it prints it, and THEN crashes 2012-10-12T09:09:44 nah, just use D 2012-10-12T09:12:36 mleise: http://sprunge.us/gMUM?c++ 2012-10-12T09:13:00 so, i dont even print the board 2012-10-12T09:13:07 just make a Board from that string 2012-10-12T09:13:18 and i cant print that string without crashing 2012-10-12T09:17:23 let me see 2012-10-12T09:17:50 nice: for(char ch : input) 2012-10-12T09:19:15 mcstar: string length is 81 for sure when you call Board() ? 2012-10-12T09:19:23 yeah 2012-10-12T09:19:33 i checked it, i counts to 81 2012-10-12T09:19:38 stops at 80 2012-10-12T09:19:51 well, you know what i mean, it indexes from 0 2012-10-12T09:20:20 haha, you need to write / 9 and % 9 ;) 2012-10-12T09:20:45 ...or D, 'cause it has range checking as well 2012-10-12T09:23:00 fuck 2012-10-12T09:23:15 i have 9 in my haskell version of course 2012-10-12T09:23:30 that still does not explain the segfault 2012-10-12T09:23:42 i DONT print the board 2012-10-12T09:23:48 i dont read from board[][] 2012-10-12T09:24:06 -fbounds-checking maybe ? 2012-10-12T09:24:10 i/3 only means, im indexing from 0..2 2012-10-12T09:24:13 thats not a problem 2012-10-12T09:24:25 (its a logical error) 2012-10-12T09:25:38 9×80÷3+2 = 242 2012-10-12T09:25:46 or is my math wrong ? 2012-10-12T09:26:24 or 236 because the /3 comes first 2012-10-12T09:26:33 im just an idiot 2012-10-12T09:26:50 i meant to write i%3=0..2 2012-10-12T09:26:56 i/3 will be out of bounds 2012-10-12T09:27:08 it isn't that obvious I think 2012-10-12T09:27:16 it is 2012-10-12T09:27:29 i mean, it should have been 2012-10-12T09:27:43 at least it's not a mistake one does every day which rings all kinds of bell in your head 2012-10-12T09:27:43 ive dealt with these indexing stuff quite much 2012-10-12T09:27:49 sort of embarassing error :( 2012-10-12T09:28:15 do you want some pity now? :p 2012-10-12T09:28:34 no 2012-10-12T09:28:46 if you used range checking in the first place, it wouldn't have come so far! 2012-10-12T09:28:59 but real man dont use range checking 2012-10-12T09:29:02 men* 2012-10-12T09:29:13 yeah, range checking is nice 2012-10-12T09:29:30 and when you know its correct, you can turn it off 2012-10-12T09:29:39 they all cheat. the most powerful men on this planet have an army of advisors 2012-10-12T09:29:48 even I could rule the world like this ^^ 2012-10-12T09:30:28 mcstar: see, that's why in D it is enabled in non-release mode by default 2012-10-12T09:30:48 mleise: ocaml, haskell has range checking too 2012-10-12T09:31:05 mcstar: right, just they don't try to reinvent C++ 2012-10-12T09:31:33 no, but i wont use D just becase it has range checking too 2012-10-12T09:31:36 thats what i meant 2012-10-12T09:31:42 Delphi has it too, btw. and that's a language that seems a bit dusty 2012-10-12T09:31:52 CL has it too 2012-10-12T09:31:56 it is way more dusty 2012-10-12T09:32:11 dusty hoffman 2012-10-12T09:32:21 but never meant to be used for systems programming, where people scream for raw speed 2012-10-12T09:32:42 there was a system called Genera 2012-10-12T09:32:51 and lisp machines too 2012-10-12T09:32:55 it has different priorities, like "safety first" 2012-10-12T09:33:11 anyway I found what was wrong with my code 2012-10-12T09:33:30 what? 2012-10-12T09:34:08 i fix a cell to a value, then I remove that option from all affected cells, all clear so far 2012-10-12T09:34:26 but I forgot that this could leave those cells with only one option 2012-10-12T09:34:37 e.g. I had a single '9' that wasn't detected 2012-10-12T09:35:02 yeah, but i find those again, since i sort the board 2012-10-12T09:35:33 so they kind of bubble up? 2012-10-12T09:36:36 bubble? 2012-10-12T09:36:41 idk, didnt ask them XD 2012-10-12T09:41:38 hmm 2012-10-12T09:41:42 im already missing haskell 2012-10-12T09:41:53 the Maybe type is extremely useful 2012-10-12T09:43:55 *** rofer has quit IRC (Quit: WeeChat 0.3.4) 2012-10-12T09:50:25 it is comparable to a pointer where null is the 'none' value 2012-10-12T09:53:18 mleise: well, it is much better 2012-10-12T09:53:27 Maybe is also a Monad 2012-10-12T09:53:44 you can compose it much clearly than null-checking 2012-10-12T09:54:13 *** Garf has joined #aichallenge 2012-10-12T09:57:13 *** amstan has joined #aichallenge 2012-10-12T09:57:13 *** ChanServ sets mode: +o amstan 2012-10-12T10:12:36 *** amstan has quit IRC (Read error: Connection reset by peer) 2012-10-12T10:56:54 *** thestinger has joined #aichallenge 2012-10-12T11:00:25 *** mceier has quit IRC (Quit: leaving) 2012-10-12T11:40:56 *** foRei has joined #aichallenge 2012-10-12T12:18:48 *** mceier has joined #aichallenge 2012-10-12T12:20:09 *** mlp has quit IRC (Quit: Page closed) 2012-10-12T12:50:04 *** sigh_ has quit IRC (Remote host closed the connection) 2012-10-12T12:54:16 *** mviel has quit IRC (Remote host closed the connection) 2012-10-12T13:17:50 *** mattswe has quit IRC (Remote host closed the connection) 2012-10-12T13:18:15 *** ermau has quit IRC (Remote host closed the connection) 2012-10-12T13:35:39 *** rofer has joined #aichallenge 2012-10-12T13:58:34 *** epicmonkey has quit IRC (Ping timeout: 240 seconds) 2012-10-12T14:10:52 *** ermau has joined #aichallenge 2012-10-12T14:10:52 *** ermau has joined #aichallenge 2012-10-12T14:21:11 *** alehorst has quit IRC (Read error: Connection reset by peer) 2012-10-12T14:35:14 *** mattswe has joined #aichallenge 2012-10-12T14:52:40 *** mattswe has quit IRC (Remote host closed the connection) 2012-10-12T14:56:08 *** ermau has quit IRC (Remote host closed the connection) 2012-10-12T14:56:33 *** mattswe has joined #aichallenge 2012-10-12T14:59:37 *** mattswe has quit IRC (Remote host closed the connection) 2012-10-12T15:00:21 *** mattswe has joined #aichallenge 2012-10-12T15:05:24 *** mattswe has quit IRC (Remote host closed the connection) 2012-10-12T15:10:14 *** epicmonkey has joined #aichallenge 2012-10-12T15:11:02 *** mattswe has joined #aichallenge 2012-10-12T15:12:29 mleise: do you want a puzzle that your solver and norvig's didnt solve in a reasonable time?(^c) 2012-10-12T15:12:58 like a single puzzle >= 1 second ? 2012-10-12T15:13:20 *** mpstyler has joined #aichallenge 2012-10-12T15:13:24 I don't think so. I haven't looked around for puzzles though 2012-10-12T15:13:54 you can always remove givens from a puzzle to force a longer brute force phase 2012-10-12T15:14:16 *** Elmegaard has joined #aichallenge 2012-10-12T15:14:25 mleise: mine finds a solutin in 0.01s 2012-10-12T15:14:31 i.e. no time 2012-10-12T15:14:41 ksudoku says, it has multiple solutions 2012-10-12T15:14:57 mleise: .....6....59.....82....8....45........3........6..3.54...325..6.................. 2012-10-12T15:15:40 (i checked the solution that mine gives, it is correct) 2012-10-12T15:16:06 http://sprunge.us/fHZH 2012-10-12T15:18:01 O.o ... mine is ... it is ... I don't know ... it hangs 2012-10-12T15:18:29 yeah 2012-10-12T15:18:38 What are you guys up to? 2012-10-12T15:18:50 Sudoku solver battles 2012-10-12T15:19:28 mcstar: just beat my program with a puzzle that makes mine run forever, while his solves it in a couple milliseconds 2012-10-12T15:19:43 Aha 2012-10-12T15:20:09 man, I cannot solve that puzzle, mcstar. I run out of memory on stack space 2012-10-12T15:20:10 mleise: its the same solver that runs ~38 on that benchmark 2012-10-12T15:20:42 hehe 2012-10-12T15:21:08 We need a new benchmark file then, I guess. 2012-10-12T15:21:09 When'll the next ai challenge be, anyone know? 2012-10-12T15:22:08 mcstar: btw, you should search for all solutions ;) 2012-10-12T15:22:20 what? why? 2012-10-12T15:22:31 Elmegaard: no 2012-10-12T15:22:32 Elmegaard: no, we don't know yet 2012-10-12T15:22:36 not soon 2012-10-12T15:22:44 Aha, too bad.. 2012-10-12T15:23:04 we keep ourselfes entertained with sudoku 2012-10-12T15:23:10 mcstar: just because a quality sudoku solver prints the number of solutions 2012-10-12T15:23:29 ok 2012-10-12T15:23:37 then wait for yours to print it 2012-10-12T15:24:01 finding *some* solution isn't hard. give me an empty board and I give you a solution in 0.001 s. But try and find all solutions 2012-10-12T15:24:14 that's a different story 2012-10-12T15:24:24 why wouldnt it be hard? 2012-10-12T15:24:51 depth first search for the first result on an empty board ? 2012-10-12T15:25:07 why would you want that? 2012-10-12T15:25:29 you need puzzles with one solution and minimum fill 2012-10-12T15:25:43 I don't want that, I just wanted to demonstrate, that a solver who tries all solutions cannot keep up with a solver that searches for a single solution. 2012-10-12T15:26:02 mcstar: right, puzzles with one solution are a fair testing ground 2012-10-12T15:26:55 theres not much difference in code between the two solvers 2012-10-12T15:27:24 (2 kinds of solvers, 1 vs. all) 2012-10-12T15:27:58 *** ermau has joined #aichallenge 2012-10-12T15:27:59 *** ermau has joined #aichallenge 2012-10-12T15:28:05 *** pairofdice has quit IRC (Quit: In girum imus nocte et consumimur igni.) 2012-10-12T15:28:30 *** pairofdice has joined #aichallenge 2012-10-12T15:40:30 mleise: http://www.haskell.org/haskellwiki/Sudoku apparently this is a common theme for haskellers 2012-10-12T15:41:25 heh, there are more solvers on that benchmark site. we cannot be satisfied until be beat the shit out of that JavaScript crap :p 2012-10-12T15:42:09 what im not satisfied with, is that yours is too fast for a simple algorithm 2012-10-12T15:42:24 (except this last case) 2012-10-12T15:43:30 mcstar: this last case is my solver trying to come up with all solutions, since ther is no command-line flag to turn that off (yet) :) 2012-10-12T15:44:12 what i dont understand, is why does it not print the ones it found so far? 2012-10-12T15:44:32 mcstar: because I return them as an array 2012-10-12T15:45:22 It would have been a better design to use a delegate call for every found solution with the option to stop there 2012-10-12T15:45:48 e.g. in the fashion some enumerations (fonts,...) are done in the Windows API 2012-10-12T15:46:51 solve board = return board >>= fixOnes >>= applyReduction >>= fixOnes >>= branch 2012-10-12T15:46:53 also I didn't want to spam the console and kindly ask if the 123439493 solutions should _really_ be printed ^^ 2012-10-12T15:46:54 thats my solver 2012-10-12T15:47:28 as you can see, im using Maybe as monad, im throwing away bad solutions, and branch only keeps the one good path 2012-10-12T15:47:42 i should use a list for that kind of non-determinism 2012-10-12T15:47:52 (to get all the results) 2012-10-12T15:54:04 *** Elmegaard has quit IRC (Quit: Page closed) 2012-10-12T16:11:13 *** pairofdice has quit IRC (Quit: In girum imus nocte et consumimur igni.) 2012-10-12T16:18:35 mleise: sir simon peyton jones even wrote a sudoku solver, it doesnt guess at all 2012-10-12T16:20:12 ok, so it fails on multiple solutions. but does he claim he can solve all single-solution puzzles with it? 2012-10-12T16:21:25 idk 2012-10-12T16:21:37 but there must be some interesting bits there 2012-10-12T16:22:16 *** mpstyler has quit IRC (Ping timeout: 245 seconds) 2012-10-12T16:24:15 mleise: theres a file with 41 thousand 17-filled puzzles within 2012-10-12T16:24:53 *** Accoun has quit IRC () 2012-10-12T16:25:23 :D wow, jackpot 2012-10-12T16:26:24 ok, I guess locked candidates detection is working 2012-10-12T16:30:17 *** epicmonkey has quit IRC (Ping timeout: 245 seconds) 2012-10-12T16:31:17 Warning: Program '/bin/zsh' crashed. 2012-10-12T16:31:20 thestinger: Warning: Program '/bin/zsh' crashed. 2012-10-12T16:42:56 mleise: solved the 49151 puzzles in 443.09s 2012-10-12T16:44:19 alright, now bring that down to 50 ;) 2012-10-12T16:46:01 mcstar: how did you manage that? 2012-10-12T16:46:19 doing my regular business 2012-10-12T16:46:30 i was completing on something when it happened 2012-10-12T16:47:12 mcstar: mine does them in 3.8 seconds :p 2012-10-12T16:47:27 (the simple one) 2012-10-12T16:47:33 mleise: how? it is still running for me 2012-10-12T16:47:57 Solved 49151 of 49151 puzzles (with a total of 49151 solutions) from ../sudoku17.txt in 3784072 µs 2012-10-12T16:48:13 I use the binary on Dropbox if that matters 2012-10-12T16:48:16 and how long did it take? 2012-10-12T16:48:29 "in 3784072 µs" 2012-10-12T16:48:32 that measurement didnt agree with 'time' 2012-10-12T16:48:41 when i checked 2012-10-12T16:48:43 once 2012-10-12T16:49:05 ill try with your original binary 2012-10-12T16:49:17 time says 3,818 seconds 2012-10-12T16:50:16 *** Accoun has joined #aichallenge 2012-10-12T16:50:30 mleise: is this with your new technique? 2012-10-12T16:50:42 no, that's still the old one. 2012-10-12T16:50:59 well, still running for me 2012-10-12T16:51:11 tens of seconds now 2012-10-12T16:51:18 previously, i reached 350s 2012-10-12T16:51:38 funny 2012-10-12T16:51:43 let me check with a shorter file 2012-10-12T16:52:16 time d/SudokuSolver.original hard.txt 2012-10-12T16:52:18 Solved 20 of 20 puzzles (with a total of 1000 solutions) from hard.txt in 105764 µs 2012-10-12T16:52:19 is it a 290kb file from oct 9th ? 2012-10-12T16:52:20 d/SudokuSolver.original hard.txt 5.24s user 0.01s system 99% cpu 5.294 total 2012-10-12T16:52:51 the big one: -rw-r--r-- 1 mcstar users 3.9M Oct 13 01:20 sudoku17.txt 2012-10-12T16:53:02 i meant the exe 2012-10-12T16:53:06 oh 2012-10-12T16:53:07 it took 5 seconds? 2012-10-12T16:53:08 idk 2012-10-12T16:53:23 mleise: well, i think it repeats it 50 times 2012-10-12T16:53:39 oh ok i see, 1000 solutions 2012-10-12T16:53:56 mleise: but what is 105764 µs? 2012-10-12T16:54:06 105ms 2012-10-12T16:54:15 but what is 105ms? 2012-10-12T16:54:25 106 if you round corretly 2012-10-12T16:54:26 ~0.1 second 2012-10-12T16:55:00 mleise: so we are back to my first question, what is 3784072 µs? 2012-10-12T16:55:17 you see, you measure different things 2012-10-12T16:55:35 it means, that I solved the 49151 in ~3.8 secons 2012-10-12T16:55:55 yeah, but this other measures 1 puzzle 2012-10-12T16:56:20 or something 2012-10-12T16:56:36 *** thestinger1 has joined #aichallenge 2012-10-12T16:56:48 ugh. wifi. 2012-10-12T16:56:48 *** alehorst has joined #aichallenge 2012-10-12T16:56:57 20 2012-10-12T16:56:57 *** thestinger has quit IRC (Ping timeout: 245 seconds) 2012-10-12T16:57:05 *** thestinger1 is now known as thestinger 2012-10-12T16:57:23 mcstar: your binary is somehow not the one I use, but my Dropbox is synched 2012-10-12T16:57:45 I don't have 50 repetitions 2012-10-12T17:00:05 mleise: 8.09s 2012-10-12T17:00:25 ok, that sounds valid :) 2012-10-12T17:01:22 valid, and pretty fast 2012-10-12T17:04:15 it's crazy but I'll drink a coffee... 2012-10-12T17:06:49 mcstar: sure, pretty fast, but someone in the world has a faster program 2012-10-12T17:07:47 http://www.reddit.com/r/WTF/comments/11c3t6/what_the_hell_is_this_mother_in_law_has_them/c6lc7re?context=3 groan :( 2012-10-12T17:07:48 i see, it isnt enough to beat me, you want the world... 2012-10-12T17:08:51 whats that? 2012-10-12T17:09:04 i dont see anything interesting on that picture 2012-10-12T17:09:12 read the coments 2012-10-12T17:09:22 people have no idea what exponential growth is 2012-10-12T17:09:50 i dont care about those people 2012-10-12T17:10:04 but whats with the picture?? 2012-10-12T17:10:25 blow darts apparently 2012-10-12T17:10:30 not what i was pasting the link for 2012-10-12T17:11:39 http://www.reddit.com/r/WTF/comments/11c3t6/what_the_hell_is_this_mother_in_law_has_them/c6lkmko jesus fucking christ :( 2012-10-12T17:12:22 *** Apophis_ has quit IRC (Read error: Connection reset by peer) 2012-10-12T17:14:19 Exponential is when a population doubles within a segmented time more than once. 2012-10-12T17:14:32 thats kind of redundant 2012-10-12T17:14:36 double more than once? 2012-10-12T17:14:55 there is a doubling period, and it is a contant 2012-10-12T17:15:13 or not 2012-10-12T17:15:32 depends how you look at it 2012-10-12T17:15:45 better to just take the logarithm of it 2012-10-12T17:16:16 is 3206 you? 2012-10-12T17:17:29 *** Apophis has joined #aichallenge 2012-10-12T17:17:57 antimatroidl: that guy might have meant, that each female groundhog brings to life more than 2 offsprings to life 2012-10-12T17:18:37 also these animals do that for a long time, not just once in their lives 2012-10-12T17:18:52 but then, many die at once probably 2012-10-12T17:19:01 when they dont have stuff to eat 2012-10-12T17:19:03 idk 2012-10-12T17:19:19 life is not a simple lotka-volterra model :) 2012-10-12T17:20:40 antimatroidl: well, not every population grows exponentially 2012-10-12T17:20:56 in real situations, things are more controlled 2012-10-12T17:21:32 if you have infinite resources, then population growth is uncontrolled and it is exponential 2012-10-12T17:21:37 but otherwise not 2012-10-12T17:22:04 mcstar: they said doubling within a year or something 2012-10-12T17:22:20 though yeah it kind of is right i guess 2012-10-12T17:23:09 if on a unit interval, the value is > 1 times its original value, it is exponential(and this multiplicative factor is constant) 2012-10-12T17:23:15 though you could have exponential growth that never doubles couldn't you? 2012-10-12T17:23:25 no 2012-10-12T17:23:44 however close this factor to 1, if it isnt 1, it will double 2012-10-12T17:24:00 what if the growth rate is like 0.3? 2012-10-12T17:24:03 basis of chaos theory 2012-10-12T17:24:09 antimatroidl: thats decay 2012-10-12T17:24:14 goes to zero fast 2012-10-12T17:24:28 *** chris__0076 has joined #aichallenge 2012-10-12T17:24:31 wouldn't decay require a negative growth rate? 2012-10-12T17:24:43 just pick up your calculator and press 0.3 * * * * 2012-10-12T17:24:54 antimatroidl: thats a negative growth rate 2012-10-12T17:25:11 what's decay if not a decrease in the population? 2012-10-12T17:25:13 now i feel stupid aha 2012-10-12T17:25:43 i dont understand 2012-10-12T17:27:02 antimatroidl: value_new/value_old=exp(c) 2012-10-12T17:27:17 if c is negative, it decays, if c is positive it grows 2012-10-12T17:27:23 if c is 0, it stays the same 2012-10-12T17:27:27 growth rate of 0.3 might give the population as something like x(t) = 1.3^tx(1) 2012-10-12T17:27:43 log(0.3)=? 2012-10-12T17:27:44 *** Chris_0076 has quit IRC (Ping timeout: 248 seconds) 2012-10-12T17:27:57 -1.2039728043259361 2012-10-12T17:28:17 so thats like x_0*exp(-1.2) 2012-10-12T17:28:24 so thats like x_0*exp(-1.2*t) 2012-10-12T17:28:48 or t->n if its an iterative process 2012-10-12T17:29:10 x_n=x_o*exp(-1.2)^n=exp(-1.2*n) 2012-10-12T17:29:16 2x = 1.3^tx => ln(2) = tln(1.3) => t = ln(2)/ln(1.3)? 2012-10-12T17:29:24 time taken to double the population? 2012-10-12T17:29:42 log(2) 2012-10-12T17:30:04 whats that 1.3? 2012-10-12T17:30:50 t(doubling)=ln(2)/c 2012-10-12T17:31:02 if c is the factor in the exponential 2012-10-12T17:31:03 if you have growth of 0.3 then x(1) = 1.3x(0), x(2) = 1.3x(1) = 1.3^2x(0), …, x(t) = 1.3^tx(0) 2012-10-12T17:31:16 then c=log(0.3) 2012-10-12T17:31:54 antimatroidl: wtf? 2012-10-12T17:32:10 ? 2012-10-12T17:32:16 x(1) = 0.3x(0), not 1.3 2012-10-12T17:32:26 but that's now 0.3 growth? 2012-10-12T17:32:36 if you have 5% interest on $100 over a year 2012-10-12T17:32:37 thats exponential decay 2012-10-12T17:32:44 how much money do you have at the end? 2012-10-12T17:32:45 that 0.05 2012-10-12T17:32:52 +1 2012-10-12T17:33:03 x(new)=x(old)*1.05 2012-10-12T17:33:08 exactly 2012-10-12T17:33:14 so if you have 3% growth on 100 people 2012-10-12T17:33:21 how many people do you have at the end? 2012-10-12T17:33:24 x(t)=x(0)*exp(log(1.05)*t) 2012-10-12T17:33:43 well 30% from above 2012-10-12T17:33:44 x(t)=x(0)*exp(4.879016416943205e-2*t) 2012-10-12T17:33:53 which would be 1.3*100 2012-10-12T17:34:11 x(t)=x(0)*exp(0.0487*t) 2012-10-12T17:34:23 antimatroidl: at the end of what? 2012-10-12T17:34:36 one period 2012-10-12T17:34:41 doubling? 2012-10-12T17:34:44 200 2012-10-12T17:34:48 what? 2012-10-12T17:35:05 if you have 100 now, after 1 doubling period by definition you wil have 200 people 2012-10-12T17:35:14 no, one growth period 2012-10-12T17:35:20 i'm treating it as discrete atm 2012-10-12T17:35:26 whats a growth period? 2012-10-12T17:35:38 on which 3% is based? 2012-10-12T17:35:49 you wil have 103 people 2012-10-12T17:35:51 will* 2012-10-12T17:35:59 ie. if 100 peoples grows 30% a year what's the formula for population? 2012-10-12T17:36:15 it's x(t) = 1.3^tx(0) 2012-10-12T17:36:25 100*exp(log(0.3)*#(periods)) 2012-10-12T17:36:34 fuck 2012-10-12T17:36:34 *** foRei has quit IRC (Quit: Bye) 2012-10-12T17:36:42 that's continuous growth 2012-10-12T17:36:43 100*exp(log(1.3)*#(periods)) 2012-10-12T17:36:46 ? 2012-10-12T17:36:48 no 2012-10-12T17:36:55 #(of periods) 2012-10-12T17:36:59 what is? 2012-10-12T17:37:00 nothing is continuous about it 2012-10-12T17:37:07 the formula for population? 2012-10-12T17:37:12 yeah 2012-10-12T17:37:28 its x(t) = x(0)*1.3^t 2012-10-12T17:37:43 where t is a natural number 2012-10-12T17:38:06 [(1.0,130.0),(2.0,169.0),(3.0,219.70000000000002),(4.0,285.61),(5.0,371.293),(6.0,482.6809),(7.0,627.48517),(8.0,815.7307210000001),(9.0,1060.4499373000003),(10.0,1378.5849184900003),(11.0,1792.1603940369998),(12.0,2329.8085122481),(13.0,3028.751065922531),(14.0,3937.3763856992896),(15.0,5118.589301409075),(16.0,6654.166091831798),(17.0,8650.415919381341),(18.0,11245.540695195745),(19.0,14619.20290375445 2012-10-12T17:38:07 8),(20.0,19004.9637748808)] 2012-10-12T17:38:45 antimatroidl: its the same 2012-10-12T17:38:54 lol 2012-10-12T17:38:57 you see the exponential way of it better if theres an exp 2012-10-12T17:39:32 are you using log_2 or log_e for log? 2012-10-12T17:39:38 ln 2012-10-12T17:39:41 i use log = log_2 and ln = log_e 2012-10-12T17:39:56 log is always natural 2012-10-12T17:39:59 no 2012-10-12T17:40:02 yeah 2012-10-12T17:40:06 log10 is 10 based 2012-10-12T17:40:10 mostly 2012-10-12T17:40:16 it doesnt matter 2012-10-12T17:40:16 i've seen computer scientists use log = log_2 2012-10-12T17:40:20 and prefer that 2012-10-12T17:40:20 not much of a confusion 2012-10-12T17:40:30 thats stupid 2012-10-12T17:40:31 :) 2012-10-12T17:40:41 regardless 2012-10-12T17:40:49 exp(log(1.3)*n)=1.3^n 2012-10-12T17:40:49 can you have growth that increases but never doubles? 2012-10-12T17:41:22 antimatroidl: now thats a stupid question, you want a function, that is bounded but monotone increasing? 2012-10-12T17:41:25 yes, there is 2012-10-12T17:41:31 so i'm not wrong? 2012-10-12T17:41:32 1-exp(-x) 2012-10-12T17:41:50 well, minus that 2012-10-12T17:41:59 it's not correct to say "exponential growth is a doubling of a population over time" 2012-10-12T17:42:17 no, its corrent 1-exp(-x) 2012-10-12T17:42:25 is a good example of a monotone saturation 2012-10-12T17:42:29 ? 2012-10-12T17:42:50 antimatroidl: if it is exponential, then yeah, it will double 2012-10-12T17:43:07 why? 2012-10-12T17:43:13 you can change the unit of time 2012-10-12T17:43:19 thats like changing the base 2012-10-12T17:43:28 you can transform it to double in unit time 2012-10-12T17:43:36 if c>1 2012-10-12T17:43:49 what about if c <1? 2012-10-12T17:43:50 which is the log of the prefactor in your example 2012-10-12T17:43:56 i already told you 2012-10-12T17:43:57 it's still exponential growth yes? 2012-10-12T17:43:58 that decay 2012-10-12T17:44:07 negative sign in the exponential 2012-10-12T17:44:12 what's c? 2012-10-12T17:44:13 log(c)<0 2012-10-12T17:44:28 have you been paying attention? 2012-10-12T17:45:03 what's exponential growth/decay formula? 2012-10-12T17:45:08 doubling/half life is log(2)/log(c) 2012-10-12T17:45:12 if you like that 2012-10-12T17:45:19 antimatroidl: fuck off 2012-10-12T17:45:23 no i want the formula, i'll work that out myself 2012-10-12T17:45:25 you are messing with me 2012-10-12T17:45:37 no seriously, give me the general one for a growth rate g 2012-10-12T17:45:50 P(t) = ? 2012-10-12T17:46:15 you already wrote that down 2012-10-12T17:46:17 i did also 2012-10-12T17:46:27 just consider your interes rate 2012-10-12T17:46:31 interest* 2012-10-12T17:46:34 its the same 2012-10-12T17:47:16 x(n)=x(n-1)+x(n-1)*p => x(n)=(1+p)*x(n-1) 2012-10-12T17:47:31 x(n)=x(0)*(1+p)^n 2012-10-12T17:47:56 if p is positive, it grows, if p is negative it decays 2012-10-12T17:48:07 but the whole prefcator is >1,=1,<1 2012-10-12T17:49:35 if you want to exponentialize it, then x(n)=x(0)*exp(c*n)=x(0)*exp(c)^n=x(0)*exp(log(1+p))^n 2012-10-12T17:50:02 =x(0)*exp(c)^n=x(0)*exp(c*n) 2012-10-12T17:50:31 if 1+p<1, c<0, if 1+p>1, c>0 2012-10-12T17:50:53 theres nothing to it really 2012-10-12T17:50:55 dead simple 2012-10-12T17:51:28 (im not saying i dont mess up simple things, i do...) 2012-10-12T17:51:28 yep 2012-10-12T17:51:36 i'm officially retarded :) 2012-10-12T17:56:16 antimatroidl: lol, that woman is great 2012-10-12T17:56:25 now, shes a retard 2012-10-12T17:58:14 "when the growth rate of the value of a mathematical function is proportional to the function's current value." 2012-10-12T17:58:30 thats actually correct 2012-10-12T17:58:49 they said "Human growth was exponential in the 1860s-1930s but now we are becoming a linearly growing population." 2012-10-12T17:58:52 that was retarded too 2012-10-12T17:59:06 i was just equally retarded while talking to them which turned it into a clusterfuck of mistakes 2012-10-12T17:59:26 antimatroidl: are you 3206? 2012-10-12T17:59:29 i am 2012-10-12T17:59:36 at last, you answered it 2012-10-12T17:59:43 i thought that was obvious? 2012-10-12T18:00:02 way back, you already linked some wrirting of 3206 and you didn say it was you when i asked 2012-10-12T18:00:11 didnt* 2012-10-12T18:00:25 :P sorry 2012-10-12T18:00:49 when i'm focussed on something everything else gets ignored :P 2012-10-12T18:01:00 you need to satisfy my focus first :P 2012-10-12T18:22:43 *** Scooper has quit IRC (Quit: Leaving) 2012-10-12T18:29:11 mcstar: still here? 2012-10-12T18:29:17 http://en.wikipedia.org/wiki/Logarithmic_growth 2012-10-12T18:29:18 no 2012-10-12T18:29:25 "In http://en.wikipedia.org/wiki/Microbiology, the rapidly growing exponential growth phase of a http://en.wikipedia.org/wiki/Cell_culture is sometimes called logarithmic growth. During thishttp://en.wikipedia.org/wiki/Bacterial_growth phase, the number of new cells appearing are proportional to the population." 2012-10-12T18:29:49 i'm confused, is that different to how it defines logarithmic growth above? 2012-10-12T18:30:34 these things really grow exponentially 2012-10-12T18:30:44 im not sure why is that called logartihmic 2012-10-12T18:32:04 antimatroidl: "For this type of exponential growth, plotting the natural logarithm of cell number against time produces a straight line." 2012-10-12T18:32:13 so thats basically what i said in the very beginning 2012-10-12T18:32:24 you can see these things better if you take the logarithm 2012-10-12T18:32:30 http://www.reddit.com/r/WTF/comments/11c3t6/what_the_hell_is_this_mother_in_law_has_them/c6lma0b?context=3 i'm wanting to respond to this guy now 2012-10-12T18:32:38 but not actually sure of myself 2012-10-12T18:32:45 hence these questions 2012-10-12T18:32:50 antimatroidl: read what i said 2012-10-12T18:33:01 i have 2012-10-12T18:33:05 so... 2012-10-12T18:33:20 antimatroidl: that last comment is totally misinformed 2012-10-12T18:33:30 no it's not? 2012-10-12T18:33:35 using a terminology, without knowing anything about it 2012-10-12T18:34:06 "rapidly growing exponential growth phase of a http://en.wikipedia.org/wiki/Cell_culture is sometimes called logarithmic growth." the is sometimes called makes him right yes? 2012-10-12T18:34:17 right with other peoples' incorrect use of logarithmic growth 2012-10-12T18:34:27 which is what i figured and was going to explain 2012-10-12T18:34:31 but wanted to check with you :P 2012-10-12T18:34:35 it does not grow lograithmically 2012-10-12T18:34:38 i know 2012-10-12T18:34:44 thats the inverse of exponential growth 2012-10-12T18:34:45 but it seems like people actually use that terminology 2012-10-12T18:34:56 if you take the log of the growth, you see a straight line 2012-10-12T18:34:57 he admitted he doesn't know much maths but had heard that thrown around 2012-10-12T18:35:10 yeah, thats why it is confusin to him 2012-10-12T18:35:19 since he doesnt know what he is talking about 2012-10-12T18:35:20 yeah which i shall now try to explain 2012-10-12T18:35:31 i just wanted to make sure i didn't try and explain something incorrectly again :P 2012-10-12T18:35:37 ok 2012-10-12T18:35:39 yes, he has already said tht 2012-10-12T18:35:41 go ahead :) 2012-10-12T18:35:45 and asked for clarification :P 2012-10-12T18:37:03 mleise: 2012-10-12T18:37:06 module Main where 2012-10-12T18:37:08 f x s@(h:y)=let(r,c)=divMod(length x)9;m#n=m`div`3==n`div`3;e=[0..8]in 2012-10-12T18:37:10 [a|z<-['1'..'9'],h==z||h=='.'&¬Elem z(map((x++s)!!)[i*9+j|i<-e, 2012-10-12T18:37:13 j<-e,i==r||j==c||i#r&&j#c]),a<-f(x++[z])y] 2012-10-12T18:37:14 f x[]=[x] 2012-10-12T18:37:16 2012-10-12T18:37:19 main=print$f[] "53..7....6..195....98....6.8...6...34..8.3..17...2...6.6....28....419..5....8..79" 2012-10-12T18:37:20 look what i found 2012-10-12T18:53:50 antimatroidl: " this isn't actually exponential growth (how annoying!)." 2012-10-12T18:53:57 did you fuck up on purpose? 2012-10-12T18:54:39 you wanted to write 'this isnt actually logarithmic growth' i believe 2012-10-12T19:12:50 omg 2012-10-12T19:12:59 i clicked /r/spacedicks 2012-10-12T19:13:02 dont do that 2012-10-12T19:25:44 mcstar: :P 2012-10-12T19:26:10 i did fuck up 2012-10-12T19:50:35 *** scribble has joined #aichallenge 2012-10-12T19:58:18 *** thestinger has quit IRC (Quit: WeeChat 0.3.9) 2012-10-12T19:59:33 *** thestinger has joined #aichallenge 2012-10-12T20:04:53 *** Garf has quit IRC (Quit: Make a new plan, Stan!) 2012-10-12T20:10:14 *** mpstyler has joined #aichallenge 2012-10-12T20:11:42 *** mcstar has quit IRC (Read error: Operation timed out) 2012-10-12T20:15:52 *** sigh has joined #aichallenge 2012-10-12T20:16:42 *** thestinger has quit IRC (Quit: WeeChat 0.3.9) 2012-10-12T20:17:48 *** thestinger has joined #aichallenge 2012-10-12T20:26:10 *** mpstyler has quit IRC (Ping timeout: 245 seconds) 2012-10-12T20:30:32 *** thestinger has quit IRC (Quit: WeeChat 0.3.9) 2012-10-12T20:31:28 *** thestinger has joined #aichallenge 2012-10-12T20:43:48 *** SoldierA1tEater has joined #aichallenge 2012-10-12T20:51:44 *** cyphase has quit IRC (*.net *.split) 2012-10-12T20:51:44 *** SoldierAntEater has quit IRC (*.net *.split) 2012-10-12T21:07:00 *** cyphase has joined #aichallenge 2012-10-12T21:45:25 *** antimatroidl has quit IRC (Quit: Leaving.) 2012-10-12T22:39:02 *** thestinger has quit IRC (Quit: WeeChat 0.3.9) 2012-10-12T22:41:15 *** mleise has quit IRC (Ping timeout: 260 seconds) 2012-10-12T23:15:21 *** antimatroidl has joined #aichallenge 2012-10-12T23:17:48 *** amstan has joined #aichallenge 2012-10-12T23:17:48 *** ChanServ sets mode: +o amstan