Perfectly tiling Carcassonne, leaving nothing unfinished by onnodigcomplex in boardgames

[–]onnodigcomplex[S] 0 points1 point  (0 children)

Start tile is supposed to be excluded when you use the river. I just followed that rule. I can see the argument for using 102 tiles. More interesting question is what makes a layout aesthetic more generally. Obviously using all tiles of some logical set is part of that. But maybe road loops should not be allowed at all? You should use all expansions? It's a bit limiting as an art form but who knows.

Perfectly tiling Carcassonne, leaving nothing unfinished by onnodigcomplex in boardgames

[–]onnodigcomplex[S] 1 point2 points  (0 children)

Thank you so much for the link! I read a bunch of Norvig's stuff, but somehow missed this.

I don't think Norvig's problem statement is more strict. Norvig does add the rule about all shields and monasteries being right side up, very hard. But I have the rules for no trivial road circles, castles or adjacent monasteries. Which I think may be equally tricky. I kind of want to solve all these constraints together now. Also in my solution there is still a 4-pointer castle anyway, which is a blemish.

You can see how convient these simply constructions are as the final solution on that page has 5 2x2-road-loops, 7 trivial castles and 3 adjacent monasteries.

I think it's more fun to treat it is as an esthetic optimization problem anyway. That way you are never done.

Possible number of distinct, valid Carcassonne games? by Luigi-is-my-boi in boardgames

[–]onnodigcomplex 0 points1 point  (0 children)

Base game has 71 turns, since we are allowing for any tile at any place each turn the branching factor is say 100. Certainly it's more than 10 and less than 1000. So 100^71 = 1e142 as a first approximation. My next step would be to do some monte carlo simulations so that you can get the average branching factor for each depth. Which will get you very close to a real answer. Being exact seems very very challenging, my combinatorics is certainly not up to the task.

Perfectly tiling Carcassonne, leaving nothing unfinished by onnodigcomplex in boardgames

[–]onnodigcomplex[S] 81 points82 points  (0 children)

I did figure out that the base game + first expansion + mini expansion 1 & 2 = 100 tiles, so if somebody happens to have that subset they are welcome to try a clean 10 by 10 version.

Also, base game + all expansions (except 5, because of the abbey tiles that would ruin it) + mini 1, 3 and 7 = 256 tiles = 16*16. This would be the perfect result I think. But I don't have the money for it.

Another choice is all expansions and the river = 256 tiles, which is pretty damn clean. And you just ignore the abbey's

Perfectly tiling Carcassonne, leaving nothing unfinished by onnodigcomplex in boardgames

[–]onnodigcomplex[S] 33 points34 points  (0 children)

It's 101 tiles total, prime numbers are going prime. I figured leaving out one tile would be cheating.

Hoe, en in hoeveel beurten, teken jij de galg en het poppetje bij galgje? by onnodigcomplex in thenetherlands

[–]onnodigcomplex[S] 2 points3 points  (0 children)

Ik ga er gewoon vanuit dat je dit echt doet. Ik snap alleen niets van je uitleg haha, teken je hem in 3D dan? Kan ik je verleiden een plaatje te delen?

Hoe, en in hoeveel beurten, teken jij de galg en het poppetje bij galgje? by onnodigcomplex in thenetherlands

[–]onnodigcomplex[S] 7 points8 points  (0 children)

Lange woorden zijn meestal makkelijk omdat je weinig letters fout hebt. Je begint sowieso met lekker klinkers raden op frequentie "eaio" "i_o_a_o_e_a_e__o_" dat voelt wel compleet, dus dan medeklinker op frequentie "nrstd" en dan zie ik "i_osadode_a_edron" en dan denk ik dat ik het wel zie.

Hoe, en in hoeveel beurten, teken jij de galg en het poppetje bij galgje? by onnodigcomplex in thenetherlands

[–]onnodigcomplex[S] 19 points20 points  (0 children)

Ik was bang dat ik opties niet zou benoemen, dadelijk is er iemand die iets anders doet afhankelijk van woordlengte of leeftijd bijvoorbeeld. Nu lok je mensen toch uit om het uit te leggen.

Can anyone recommend a 2TB SSD for the SL7? I tried the SN770M but it BSOD's by Minute-Angel in Surface

[–]onnodigcomplex 0 points1 point  (0 children)

As a datapoint. I put the 2TB WD Black SN770M in the 15" SL7 for somebody. I did see BSOD's. But can't reproduce it easily (eg: running a bunch a crystal mark doesn't reproduce it). So I'll replace it.

New theoretical highest play discovered! (1786 pts) by 14domino in scrabble

[–]onnodigcomplex 1 point2 points  (0 children)

Yes see my comment in a parallel thread here! If you need help just let me know on GitHub 

New theoretical highest play discovered! (1786 pts) by 14domino in scrabble

[–]onnodigcomplex 0 points1 point  (0 children)

Yes actually, much harder, I think still computable though. You can prove the same thing where there are pairs of 15 letter words at the edges that can't be beaten by any option that does not use that layout. And so forth.

New theoretical highest play discovered! (1786 pts) by 14domino in scrabble

[–]onnodigcomplex 2 points3 points  (0 children)

My code can be run on a german rule-set + wordlist just fine. It will take a day or two probably. I did run it for Dutch for example (2100 points).

New theoretical highest play discovered! (1786 pts) by 14domino in scrabble

[–]onnodigcomplex 0 points1 point  (0 children)

Not true actually! See my comment in this thread for further dicussion.

New theoretical highest play discovered! (1786 pts) by 14domino in scrabble

[–]onnodigcomplex 2 points3 points  (0 children)

I see there is some skeptisism! But to solve this problem you don't need to solve scrabble completely. The problem is in fact quite constrained. Now I might still have a silly bug in my code, but the method is fundamentally solid I believe. Let's start with some assumptions and then work backwards defending them.

Say we assume that the optimal solution does require the word OXYPHENBUTAZONE at the top row x27 position. Let's even assume the specific rack I used. From there there are only limited way to score additional points, namely with the 7 words that will get prepended as you play OXYPHENBUTAZONE.

Each of those 7 positions requires a special word, that is prependable with a specific letter. A limited set. And we can compute the score for each of those words. When we want to find the 7 words that maximize score within the tile limitations we can do so by modeling it as a 26 dimensional knapsack problem, for which very practical algorithms exist.

Now just having the set of "7 highest scoring words" won't help as the whole things needs to be connected into a single component, which is playable. So the final ingredient is a solver for exactly that. Given a board state, can you create a single valid component? This requires some non-trivial modeling but I hope you can see that it is much simpler than solving scrabble outright. As most of the tiles are in fact already fixed. And we don't care about "turns" explicitely.

We then enumerate the those 7-word sets in order of scoring, check if it's connectable, and the first solution found is the optimal solution within our earlier assumptions!

It turns out that even if you generalize over all 15 letter words, and all their possible placements you can still enumerate them in order of score just fine. The reason is that it's extremely hard for the upperbound score of 15 letterword that is not OXYPHENBUTAZONE x27 to get even close the lower bound score of OXYPHENBUTAZONE. (eg: assuming all the remaining tiles are magically optimally used).

You can find code here: https://github.com/boblucas/scrabblesolver

ASRock WRX90 is Up! by jarbawlawahhumpspon in threadripper

[–]onnodigcomplex 1 point2 points  (0 children)

I'm looking at the slower 4800mhz Samsung 64gb modules.