TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A Computational Proof of the Highest-Scoring Boggle Board

78 pointsby danvk28 days ago

7 comments

LPisGood28 days ago
My first thought is that there is surely an Integer Linear Programming approach that can solve this within a few seconds using some very advanced solver like Gurobi.<p>These solvers can very often find the globally optimal solution - and prove that this solution is optimal - much faster than exhaustive search.<p>Of course they do use a smart exhaustive search by applying branch-and-bound as described in this article, but advanced solvers use, among other things, branch-and-cut where cutting planes in the solution space are generated, as well as a variety of other approaches.<p>One interesting thing however is that GPUs are still not particularly applicable for solvings Mixed Integer Linear Programs to sufficient accuracy. There are things like PDLP that can use GPUs to solve these problems, but they are restricted to something like 1e-4 accuracy whereas the state of the art is more like 1e-9.
评论 #43775112 未加载
joefkelley28 days ago
This reminded me of one of my high school computer science assignments- simply to find all words in a single boggle board. And try to optimize your solution a bit. The point was to teach about recursion&#x2F;backtracking and data structures. The intended solution was roughly: start at a square, check if your current prefix is a valid prefix, move to a neighbor recursively, and emit any words you find. Trying to optimize naturally motivates a trie data structure.<p>I found it to be at least an order of magnitude faster, though, to invert the solution: loop through each word in the dictionary and check whether it exists in the grid! The dictionary is small compared to the number of grid paths, and checking whether a word exists in the grid is very very fast, requiring not much backtracking, and lends itself well to heuristic filtering.
评论 #43778699 未加载
pavel_lishin28 days ago
My favorite part of the write-up is the first sentence after the &quot;What if there&#x27;s a bug?&quot; section.
oliwary28 days ago
Fun, love word game computations! Reminds me a bit of the challenge to place the challenge to place all letters in the alphabet in as small a grid as possible, with valid words: <a href="https:&#x2F;&#x2F;gamepuzzles.com&#x2F;alphabest.htm" rel="nofollow">https:&#x2F;&#x2F;gamepuzzles.com&#x2F;alphabest.htm</a><p>I made a word game based on a similar concept, featuring different letters every day: <a href="https:&#x2F;&#x2F;spaceword.org" rel="nofollow">https:&#x2F;&#x2F;spaceword.org</a>
评论 #43779409 未加载
wdumaresq26 days ago
If anyone would like to try this highest-scoring boggle board to see how many words you can get you can try it here: <a href="http:&#x2F;&#x2F;crosswordislandhopper.com&#x2F;playGob?pg=BYZX&amp;bd=KOHGVZRVIGMIHTVH" rel="nofollow">http:&#x2F;&#x2F;crosswordislandhopper.com&#x2F;playGob?pg=BYZX&amp;bd=KOHGVZRV...</a><p>I found 267 words in 5 minutes.
1024core28 days ago
Where can I find the wordlist that they used?<p>Edit: Found it here: <a href="https:&#x2F;&#x2F;coursera.cs.princeton.edu&#x2F;algs4&#x2F;assignments&#x2F;boggle&#x2F;files&#x2F;dictionary-enable2k.txt" rel="nofollow">https:&#x2F;&#x2F;coursera.cs.princeton.edu&#x2F;algs4&#x2F;assignments&#x2F;boggle&#x2F;f...</a>
评论 #43776352 未加载
colanderman28 days ago
Simulated annealing [1] is mentioned but not explained in the list of modifications to hill climbing. The technique roughly is: accept modifications to the board which <i>decrease</i> the score, with a probability inversely related to the magnitude of the decrease, and which decreases as the search progresses. This helps avoid getting stuck in local maximae.<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Simulated_annealing" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Simulated_annealing</a><p>EDIT: Somehow I didn&#x27;t see that simulated annealing was mentioned by name (but not explained), ha!
评论 #43775164 未加载
评论 #43775126 未加载
评论 #43775130 未加载
评论 #43776788 未加载
评论 #43775469 未加载