<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel rdf:about="https://community.wolfram.com">
    <title>Community RSS Feed</title>
    <link>https://community.wolfram.com</link>
    <description>RSS Feed for Wolfram Community showing any discussions tagged with Game Development sorted by active.</description>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3769718" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3746334" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3762386" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3753567" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3753059" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3752547" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3749400" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3726912" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3720941" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3701271" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3608834" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3614977" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1077888" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3598035" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3554402" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3503047" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3499558" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3497270" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3501352" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3339808" />
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3769718">
    <title>Radar contact: building an interactive air traffic control simulator</title>
    <link>https://community.wolfram.com/groups/-/m/t/3769718</link>
    <description>![Radar contact: building an interactive air traffic control simulator][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Radar.gif&amp;amp;userId=20103&#xD;
  [2]: https://www.wolframcloud.com/obj/dbc385f0-868a-42e8-beb8-f32cb219d8ee</description>
    <dc:creator>Maurya Gajjar</dc:creator>
    <dc:date>2026-07-29T05:09:37Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3746334">
    <title>Teapod spider: Hamiltonian, Lagrangian things</title>
    <link>https://community.wolfram.com/groups/-/m/t/3746334</link>
    <description>&amp;amp;[Wolfram Notebook][1]&#xD;
&#xD;
&#xD;
  [1]: https://www.wolframcloud.com/obj/43a7232a-c3cf-4944-9d00-9033b68cb918</description>
    <dc:creator>Dara Shayda</dc:creator>
    <dc:date>2026-07-07T01:30:21Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3762386">
    <title>[WSRI26] Cellular Automaton Wagering</title>
    <link>https://community.wolfram.com/groups/-/m/t/3762386</link>
    <description>![Cellular Automaton Wagering][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=image-2026-07-16T18-33-23Z.png&amp;amp;userId=3760034&#xD;
  [2]: https://www.wolframcloud.com/obj/7ac4511b-0e0b-4443-a76d-1aea2fade612</description>
    <dc:creator>James Nee</dc:creator>
    <dc:date>2026-07-16T19:59:59Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3753567">
    <title>[WSRP26] Simulating 3 vs. 3 basketball on a 2D point graph to find and create optimal strategies</title>
    <link>https://community.wolfram.com/groups/-/m/t/3753567</link>
    <description>![ Simulating 3 vs. 3 basketball on a 2D point graph to find and create optimal strategies][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Screenshot2026-07-09at7.39.16%E2%80%AFp.m..png&amp;amp;userId=3753153&#xD;
  [2]: https://www.wolframcloud.com/obj/e9b257b9-ba6d-4353-be65-2ddfd786f233</description>
    <dc:creator>Gustavo Lievano</dc:creator>
    <dc:date>2026-07-09T23:40:26Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3753059">
    <title>[WSRP26] Exploring the placements of colored chess pieces across an infinite spiral chessboard</title>
    <link>https://community.wolfram.com/groups/-/m/t/3753059</link>
    <description>![Exploring the placements of colored chess pieces across an infinite spiral chessboard][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=image-2026-07-09T22-28-39Z.png&amp;amp;userId=3752290&#xD;
  [2]: https://www.wolframcloud.com/obj/6730fd0d-0c48-4840-bf06-c6718cc4700b</description>
    <dc:creator>Christoffer Lamtan</dc:creator>
    <dc:date>2026-07-09T22:31:15Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3752547">
    <title>[WSRP26] Pinball machine mechanics and peg position optimization</title>
    <link>https://community.wolfram.com/groups/-/m/t/3752547</link>
    <description>![Pinball machine mechanics and peg position optimization][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Screenshot2026-07-09at3.37.45%E2%80%AFPM.png&amp;amp;userId=3751968&#xD;
  [2]: https://www.wolframcloud.com/obj/6bd9fae0-af5d-491c-b726-1208f9fdf413</description>
    <dc:creator>Isabelle Archer</dc:creator>
    <dc:date>2026-07-09T21:24:09Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3749400">
    <title>[WSRP26] Developing a lexical diagnostic tool and examining correlations with neurological disorders</title>
    <link>https://community.wolfram.com/groups/-/m/t/3749400</link>
    <description>![Developing a lexical diagnostic tool and examining correlations with neurological disorders][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Untitled%281080x1080px%29.png&amp;amp;userId=3749348&#xD;
  [2]: https://www.wolframcloud.com/obj/ad3557d6-f9ce-426b-a55e-60b772ba297a</description>
    <dc:creator>Adrika Mehta</dc:creator>
    <dc:date>2026-07-09T15:28:47Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3726912">
    <title>A game of matching colors</title>
    <link>https://community.wolfram.com/groups/-/m/t/3726912</link>
    <description>&amp;amp;[Wolfram Notebook][1]&#xD;
&#xD;
&#xD;
  [1]: https://www.wolframcloud.com/obj/8b85842a-6f59-42e7-91f3-fee34e747ca5</description>
    <dc:creator>J. M.</dc:creator>
    <dc:date>2026-06-04T05:49:30Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3720941">
    <title>Neural interface terminal: a living system for AI-orchestrated work</title>
    <link>https://community.wolfram.com/groups/-/m/t/3720941</link>
    <description>&amp;amp;[Wolfram Notebook][1]&#xD;
&#xD;
&#xD;
  [1]: https://www.wolframcloud.com/obj/346760a8-fe52-47a7-b452-f945a4ca1986</description>
    <dc:creator>Brian A. Mboya</dc:creator>
    <dc:date>2026-05-22T18:35:43Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3701271">
    <title>Blackjack: A complete casino game, a basic-strategy coach, &amp;amp; Monte-Carlo expected-value estimator</title>
    <link>https://community.wolfram.com/groups/-/m/t/3701271</link>
    <description>![Blackjack: A complete casino game, a basic-strategy coach, &amp;amp; Monte-Carlo expected-value estimator][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=3384blackjack_demo_preview.gif&amp;amp;userId=20103&#xD;
  [2]: https://www.wolframcloud.com/obj/256cd51c-c6c8-4146-a89d-67780c3f4daf</description>
    <dc:creator>Marco Thiel</dc:creator>
    <dc:date>2026-04-22T22:08:59Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3608834">
    <title>Simulation of Eka Periodica: a chemical elements game</title>
    <link>https://community.wolfram.com/groups/-/m/t/3608834</link>
    <description>#Introduction ##&#xD;
&#xD;
What is a fun, exciting, and engaging way to study the periodic table? One possible answer is Eka-Periodica: A Chemical Elements Game. Eka-Periodica is a board game designed to support both students and instructors in learning and teaching the periodic table through interactive, strategic, and enjoyable gameplay. Instead of memorizing symbols and properties passively, players actively engage with chemical elements, reinforcing their understanding through play.&#xD;
&#xD;
![enter image description here][1]&#xD;
&#xD;
This notebook presents a simulation of the Eka-Periodica game, serving two main purposes. First, it provides an alternative and intuitive explanation of the game rules, especially for new players who may find written rulebooks difficult to visualize. By walking through the game step by step, from the initial setup, player actions, and special card mechanics to the end-game conditions, the notebook allows readers to clearly understand how the game progresses in practice.&#xD;
&#xD;
Second, the simulation demonstrates how the game mechanics relate to learning outcomes. By modeling player decisions and card interactions programmatically, this notebook highlights how Eka-Periodica encourages logical thinking, pattern recognition, and familiarity with the periodic table in a dynamic environment.&#xD;
&#xD;
&#xD;
----------&#xD;
&#xD;
#Rules##&#xD;
&#xD;
##General Concept##&#xD;
&#xD;
 1. **Setup**: Each player is randomly dealt the same number of cards. The deck consists mainly of Element cards, with a small number of Special cards (Periodic Table) included to ensure even distribution.&#xD;
![enter image description here][2]&#xD;
 2. **Playing Cards**: Players take turns placing card(s) onto the board. During a single turn, a player may place multiple cards if they are adjacent elements from the same group. Special cards may be used as substitutes for any Element cards that have already been placed on the board.&#xD;
 3. **Card Transfer**: After completing their turn&amp;#x2014;including passing if no available cards can be placed or if the player chooses&#xD;
not to place a card&amp;#x2014;the active player rolls a die. Based on the result, the active player must take up to one&#xD;
card from the next player and add it to their hand.&#xD;
&#xD;
- If the active player has no cards remaining in their hand, they immediately win, and are removed from the&#xD;
game, and do not need to roll the die.&#xD;
&#xD;
- Similarly, if the next player’s last remaining card is taken as a result of a die roll, that player also wins and&#xD;
is removed from the game.&#xD;
&#xD;
4 . **Winning the Game**: A player wins when they have no cards remaining in their hand. The game continues until only one player still holds cards. That player loses the game.&#xD;
&#xD;
##Specific operations##&#xD;
&#xD;
0 . **Current Position**: The most recently placed card on the board defines the current position. All placement rules are determined by this position. The current position must be clearly marked using a rubber band or another suitable marker.&#xD;
&#xD;
1 . **First Turn**: The player who holds the Hydrogen (H) card takes the first turn. On this turn, only the H card may be played.&#xD;
&#xD;
2 . **Card Placement (After the First Turn)**: Players take turns in clockwise order; the next player is the player to the left of the current player. On their turn, a player may choose one of the following actions: &#xD;
&#xD;
**Current Group Placement**: Place one or more adjacent Element cards from the same group as the current position, arranged from top to bottom, extending only into periods below the current position.&#xD;
&#xD;
OR&#xD;
&#xD;
**Other Group Placement**: Place one or more adjacent Element cards from the same group, arranged from top to bottom, in any group to the right of the current group.&#xD;
&#xD;
*Exception*: If the current group is the rightmost unfilled group (initially Group 18 and shifting left as groups become filled), the player may instead place one or more adjacent cards from the same group in any unfilled group to the left.&#xD;
&#xD;
3 . **Special Cards**: A Special card may represent any Element card that has already been placed on the board.&#xD;
&#xD;
- A Special card may be placed starting from the current position. Therefore, possessing a Special card guarantees that the player can place at least one card&amp;#x2014;namely, the Special card at the current position.&#xD;
&#xD;
- Special cards may be used alone or in combination with other cards, in any order, during the same turn.&#xD;
&#xD;
----------&#xD;
# Simulation ##&#xD;
&#xD;
The user can try to play the game from this simulation and understand the rules of the game. This simulation comes from pages 24-28 in the game manual.&#xD;
&#xD;
The simulation provides a “Next Turn” button for each player to end their turn and move to the next player. It also functions as a checkpoint button for the game to be saved. The “Undo” button is for allow user to go backward to the previous turn. The “Redo” button will lead the user to the next turn. It will be activated once the user clicks on the “Undo” button. The “Random Play” button will let the computer randomly play with the user. The button will be deactivated once there is no next move in the current turn. &#xD;
&#xD;
Below, the GIF simulates the game of four players. Every player received 12 cards at the beginning. &#xD;
![enter image description here][3]&#xD;
&#xD;
**Sequences in the GIF** &#xD;
&#xD;
 1. Each player received 12 cards&#xD;
 2. Player 2, who has the “H” card, is the first one to play. Player 2 placed the “H” card onto the periodic table. Then, receive the “Si” card from Player 3 by toasting the dice.&#xD;
 3. Player 3 placed the “O” card and the “S” card, respectively. Then, Player 3 received the “X” card from Player 4.&#xD;
 4. Player 4 placed the “I” card and received the “Po” card from Player 1&#xD;
 5. Player 1 placed the “Xe” and “Rn” cards and received the “Kr” card from Player 2.&#xD;
 6. Player 2 placed the “Si” and “Ge” cards and received the “P” card from Player 3.&#xD;
 7. Player 3 placed the “F” and “Cl” cards and did not receive any cards from Player 4 because there was no card in that position.&#xD;
 8. Player 4 placed the “He” card and received the “Ba” card from Player 1.&#xD;
 9. Player 1 placed the “Na”, “K”, “Rb”, and “Cs” cards and received the “Sr” card from Player 2.&#xD;
 10. Player 2 placed the “P”, “As”, and “Sb” cards and received the “Ar” card from Player 3.&#xD;
 11. Player 3 placed the “X” (as “He”) and “Ne” cards and received the “Po” card from Player 4.&#xD;
 12. Player 4 placed the “C”, “X”(as “Si”), “X” (as “Ge”), and “Sn” cards and did not receive any cards from Player 1.&#xD;
 13. Player 1 placed the “X” (as “Sn”) and “Pb” cards and received the “Te” card from Player 2.&#xD;
 14. Player 2 placed the “Br”, “X” (as “I”), and “At” cards and did not receive any cards from Player 3.&#xD;
 15. Player 3 placed the “X” (as “He”) card and received the “Ga” card from Player 4.&#xD;
 16. Player 4 placed the “N” card and did not receive any cards from Player 1.&#xD;
 17. Player 1 placed the “Bi” card and did not receive any cards from Player 2.&#xD;
 18. Player 2 placed the “Se” card and received the “Al” card from Player 3.&#xD;
 19. Player 3 placed the “Po” card and did not receive any cards from Player 4.&#xD;
 20. Player 4 did not have an available card and received the “Tl” card from Player 1.&#xD;
 21. Player 1 placed the “Kr” card and did not receive any cards from Player 2.&#xD;
 22. Player 2 placed the “In” card and did not receive any cards from Player 3.&#xD;
 23. Player 3 did not have an available card and received the “Be” card from Player 4.&#xD;
 24. Player 4 placed the “Tl” card and did not receive any cards from Player 1.&#xD;
 25. Player 1 placed the “Te” card and did not receive any cards from Player 2.&#xD;
 26. Player 2 placed the “Ar” card and received the “Ca” card from Player 3.&#xD;
 27. Player 3 placed the “Be” and “Mg” cards and did not receive any cards from Player 4.&#xD;
 28. Player 4 placed the “Ba” card and did not receive any cards from Player 1.&#xD;
 29. Player 1 did not have an available card and did not receive any cards from Player 2.&#xD;
 30. Player 2 placed the “Al” card and did not receive any cards from Player 3.&#xD;
 31. Player 3 placed the “Ga” card and became the first winner.&#xD;
 32. Player 4 placed the “Li” card and did not receive any cards from Player 1.&#xD;
 33. Player 1 placed the “Sr” card and became the second winner.&#xD;
 34. Player 2 did not have an available card and received the “B” card from Player 4. Then, Player 4 had an empty hand and became the third winner. &#xD;
&#xD;
&#xD;
----------&#xD;
&#xD;
# Product ##&#xD;
&#xD;
Check-in Periodica: A Chemical Elements Game at NSTDA shop [www.nstdashop.com/product/11000383292000340][5]&#xD;
&#xD;
&#xD;
----------&#xD;
# CITE THIS NOTEBOOK ##&#xD;
&#xD;
Eka Periodica game simulation&#xD;
&#xD;
by [Sittha Phloi-Montri][6] and [Taweetham Limpanuparb][7]&#xD;
&#xD;
Wolfram Community, STAFF PICKS, January 17, 2026&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Periodica.JPG&amp;amp;userId=3607864&#xD;
  [2]: https://community.wolfram.com//c/portal/getImageAttachment?filename=GameSetup.png&amp;amp;userId=3607864&#xD;
  [3]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Animation.gif&amp;amp;userId=3607864&#xD;
  [4]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Sim.gif&amp;amp;userId=3607864&#xD;
  [5]: http://www.nstdashop.com/product/11000383292000340&#xD;
  [6]: https://community.wolfram.com/web/sitthapm&#xD;
  [7]: https://community.wolfram.com/web/taweethamlim</description>
    <dc:creator>Sittha Phloi-Montri</dc:creator>
    <dc:date>2026-01-17T05:52:09Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3614977">
    <title>How to solve tectonic puzzles using graph theory</title>
    <link>https://community.wolfram.com/groups/-/m/t/3614977</link>
    <description>![enter image description here][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Screenshot2026-01-20at11.18.06%E2%80%AFp.m..png&amp;amp;userId=2028758&#xD;
  [2]: https://www.wolframcloud.com/obj/6d4d2873-3f1c-41d4-b4f0-fa746af5bd5a</description>
    <dc:creator>Alejandra Ortiz Duran</dc:creator>
    <dc:date>2026-01-21T05:24:19Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1077888">
    <title>Solving Suguru (Tectonic) puzzles</title>
    <link>https://community.wolfram.com/groups/-/m/t/1077888</link>
    <description>![enter image description here][1]&#xD;
&#xD;
Above is the starting grid of a so called Suguru puzzle (also known as Tectonic or number block puzzles). See https://krazydad.com/suguru/ for many more puzzles.&#xD;
&#xD;
The rules are simple:&#xD;
&#xD;
 1. each cell (thin lines) contains a single integer.&#xD;
 2. each container (cage, block) (thick lines) contains the non-repeating integer starting from 1 to the size of the container.&#xD;
 3. adjacent (including diagonally touching) cells do not have the same number&#xD;
&#xD;
So, for example, this means that in the bottom we have a container of size 2 that those cells will contain the numbers 1 and 2 or 2 and 1.&#xD;
&#xD;
Let&amp;#039;s set up the candidates for each cell, and the containers (I called them tectons):&#xD;
&#xD;
    tectons = {&#xD;
       {{1, 1}, {1, 2}, {2, 1}, {2, 2}, {3, 1}},&#xD;
       {{1, 3}, {1, 4}, {1, 5}, {2, 3}, {2, 4}},&#xD;
       {{1, 6}, {1, 7}, {2, 5}, {2, 6}, {3, 5}},&#xD;
       {{1, 8}, {2, 7}, {2, 8}, {3, 6}, {3, 7}},&#xD;
       {{1, 9}, {2, 9}, {3, 9}, {4, 8}, {4, 9}},&#xD;
       {{3, 8}},&#xD;
       {{5, 8}},&#xD;
       {{5, 9}, {6, 8}, {6, 9}, {7, 8}, {7, 9}},&#xD;
       {{4, 6}, {4, 7}, {5, 6}, {5, 7}, {6, 7}},&#xD;
       {{5, 5}, {6, 5}, {6, 6}, {7, 4}, {7, 5}},&#xD;
       {{5, 2}, {5, 3}, {6, 3}, {6, 4}, {7, 3}},&#xD;
       {{3, 3}, {3, 4}, {4, 4}, {4, 5}, {5, 4}},&#xD;
       {{3, 2}, {4, 1}, {4, 2}, {4, 3}, {5, 1}},&#xD;
       {{6, 1}, {6, 2}, {7, 1}, {7, 2}},&#xD;
       {{7, 6}, {7, 7}}&#xD;
       };&#xD;
    givens = &amp;lt;|&#xD;
       {1, 1} -&amp;gt; 1,&#xD;
       {2, 2} -&amp;gt; 2,&#xD;
       {3, 1} -&amp;gt; 4,&#xD;
       {1, 4} -&amp;gt; 1,&#xD;
       {2, 8} -&amp;gt; 3,&#xD;
       {3, 3} -&amp;gt; 4,&#xD;
       {3, 9} -&amp;gt; 4,&#xD;
       {4, 4} -&amp;gt; 1,&#xD;
       {5, 1} -&amp;gt; 4,&#xD;
       {5, 3} -&amp;gt; 5,&#xD;
       {5, 5} -&amp;gt; 4,&#xD;
       {5, 7} -&amp;gt; 5,&#xD;
       {6, 8} -&amp;gt; 3,&#xD;
       {7, 5} -&amp;gt; 2,&#xD;
       {7, 9} -&amp;gt; 5&#xD;
       |&amp;gt;;&#xD;
&#xD;
Let&amp;#039;s create the database (db) of candidates, and process the given hints:&#xD;
&#xD;
    If[! DuplicateFreeQ[Join @@ tectons], Print[&amp;#034;Cells have to be unique among tectonics&amp;#034;]; Abort[];];&#xD;
    canddb = With[{x = #}, {#, Range[Length[x]]} &amp;amp; /@ x] &amp;amp; /@ tectons;&#xD;
    canddb = Association[Rule @@@ (Join @@ canddb)];&#xD;
    KeyValueMap[(canddb[#1] = {#2}) &amp;amp;, givens];&#xD;
&#xD;
Now we need a way to visualize them:&#xD;
&#xD;
    ClearAll[VisualizeTectonic, VisualizeTectonicSideHelper, VisualizeTectonicNumberHelper]&#xD;
    VisualizeTectonicNumberHelper[{row_, column_}, cand_List] := Module[{p, l, poss, t},&#xD;
      l = Length[cand];&#xD;
      p = {column, -row};&#xD;
      If[l == 1,&#xD;
       Text[Style[First[cand], Black, 17], p]&#xD;
       ,&#xD;
       MapThread[Text[Style[#1, 12, Red], #2] &amp;amp;, {cand, CirclePoints[p, 0.2, l]}]&#xD;
       ]&#xD;
      ]&#xD;
    VisualizeTectonicSideHelper[tecton_List] := Module[{p, sides},&#xD;
      p = {#2, -#1} &amp;amp; @@@ tecton;&#xD;
      sides = Partition[{# + {-0.5, -0.5}, # + {0.5, -0.5}, # + {0.5, 0.5}, # + {-0.5, 0.5}}, 2, 1, 1] &amp;amp; /@ p;&#xD;
      sides = Join @@ sides;&#xD;
      sides = Tally[Sort /@ sides];&#xD;
      Table[If[Last[s] == 1, {Thickness[0.01], Line[First[s]]}, Line[First[s]]], {s, sides}]&#xD;
     ]&#xD;
    VisualizeTectonic[canddb_Association, tectons_List] := Module[{nums, sides, cb},&#xD;
      nums = KeyValueMap[VisualizeTectonicNumberHelper, canddb];&#xD;
      sides = VisualizeTectonicSideHelper /@ tectons;&#xD;
      cb = #2 - #1 &amp;amp; @@@ CoordinateBounds[Transpose[Join @@ tectons]];&#xD;
      Graphics[{nums, sides}, ImageSize -&amp;gt; Norm[cb] 15]&#xD;
     ]&#xD;
&#xD;
Trying out:&#xD;
&#xD;
    VisualizeTectonic[canddb, tectons]&#xD;
&#xD;
gives:&#xD;
&#xD;
![enter image description here][2]&#xD;
&#xD;
The red numbers now indicates possible candidates for each cell, black numbers are solved. Now it is time to eliminate numbers until we find the correct answer for each cell.&#xD;
&#xD;
We will start by defining two helper functions:&#xD;
&#xD;
    ClearAll[NeighbourQ, Neighbours]&#xD;
    NeighbourQ[p : {x_, y_}, p2 : {x2_, y2_}] := ChessboardDistance[p, p2] === 1&#xD;
    Neighbours[p : {x_, y_}] := Transpose[p + Transpose[{{-1, -1}, {-1, 0}, {-1, 1}, {0, -1}, {0, 1}, {1, -1}, {1, 0}, {1, 1}}]]&#xD;
&#xD;
to test if two cells are neighbours, and what the neighbours of a cell are, respectively.&#xD;
&#xD;
Now we can easily create a new function to delete candidates around cells that are solved:&#xD;
&#xD;
    Do[&#xD;
      {k, v} = List @@ Part[Normal[canddb], i];&#xD;
      If[Length[v] == 1,&#xD;
       neighbours = Neighbours[k];&#xD;
       Do[&#xD;
        If[KeyExistsQ[canddb, nb],&#xD;
          canddb[nb] = DeleteCases[canddb[nb], First[v]];&#xD;
          ];&#xD;
        ,&#xD;
        {nb, neighbours}&#xD;
        ]&#xD;
       ];&#xD;
      ,&#xD;
      {i, Length[canddb]}&#xD;
      ];&#xD;
&#xD;
Executing this and then calling `VisualizeTectonic[canddb, tectons]` gives:&#xD;
&#xD;
![enter image description here][3]&#xD;
&#xD;
We can also delete any candidate that matches a solved number inside a container:&#xD;
&#xD;
    (* delete candidates from singles in same tecton *)&#xD;
    Do[&#xD;
      values = canddb /@ t;&#xD;
      If[Length[values] &amp;gt; 1,&#xD;
       singles = Select[Transpose[{t, values}], Length[Last[#]] == 1 &amp;amp;];&#xD;
       nonsingles = Complement[t, singles[[All, 1]]];&#xD;
       (canddb[#1] = Complement[canddb[#1], Join @@ singles[[All, 2]]]) &amp;amp; /@ nonsingles&#xD;
      ]&#xD;
     ,&#xD;
      {t, tectons}&#xD;
     ];&#xD;
    &#xD;
    VisualizeTectonic[canddb, tectons]&#xD;
&#xD;
![enter image description here][4]&#xD;
&#xD;
If a candidate only appears once inside a container then that must be the position:&#xD;
&#xD;
    (* hidden singles *)&#xD;
    Do[&#xD;
      values = canddb /@ t;&#xD;
      values = Tally[Join @@ values];&#xD;
      values = Select[values, Last[#] == 1 &amp;amp;][[All, 1]];&#xD;
      If[Length[values] &amp;gt; 0,&#xD;
       Do[&#xD;
         If[ContainsAny[canddb[c], values],&#xD;
           canddb[c] = Intersection[canddb[c], values]&#xD;
           ];&#xD;
         ,&#xD;
         {c, t}&#xD;
         ];&#xD;
       ]&#xD;
      ,&#xD;
      {t, tectons}&#xD;
      ];&#xD;
    VisualizeTectonic[canddb, tectons]&#xD;
&#xD;
![enter image description here][5]&#xD;
&#xD;
We can even try some more elaborate tests in order to eliminate candidates:&#xD;
&#xD;
    (* in each tecton search for cells with numbers that appear at least twice then &#xD;
    look at their common neighbours: eliminate that number from the common neighbours *)&#xD;
    Do[&#xD;
      values = canddb /@ t;&#xD;
      values = Tally[Join @@ values];&#xD;
      values = Select[values, Last[#] &amp;gt; 1 &amp;amp;][[All, 1]];&#xD;
      Do[&#xD;
       cells = Select[t, MemberQ[canddb[#], v] &amp;amp;];&#xD;
       nb = Neighbours /@ cells;&#xD;
       nb = Intersection @@ nb;&#xD;
       nb = Complement[nb, cells]; (*strictly speaking not necessary I think *)&#xD;
       nb = Intersection[nb, Join @@ tectons];&#xD;
       If[Length[nb] &amp;gt; 0,&#xD;
        Do[&#xD;
          canddb[n] = DeleteCases[canddb[n], v];&#xD;
          ,&#xD;
          {n, nb}&#xD;
          ];&#xD;
        ];&#xD;
       ,&#xD;
       {v, values}&#xD;
       ]&#xD;
      ,&#xD;
      {t, tectons}&#xD;
      ];&#xD;
    VisualizeTectonic[canddb, tectons]&#xD;
&#xD;
![enter image description here][6]&#xD;
&#xD;
Lastly we can look at pairs of cells, if two adjacent cells both have the same 2 candidates left, then one can eliminate those two candidates from their common neighbours:&#xD;
&#xD;
    (* naked pairs *)&#xD;
    paircells = GatherBy[KeyValueMap[List, Select[canddb, Length[#] == 2 &amp;amp;]], Sort@*Last][[All, All, 1]];&#xD;
    pairedpaircells = Select[paircells, Length[#] &amp;gt; 1 &amp;amp;];&#xD;
    pairedpaircells = Join @@ (Subsets[#, {2}] &amp;amp; /@ pairedpaircells);&#xD;
    pairedpaircells = Select[pairedpaircells, NeighbourQ @@ # &amp;amp;];&#xD;
    neigbours = Intersection[##, Keys[canddb]] &amp;amp; @@@ Map[Neighbours, pairedpaircells, {2}];&#xD;
    vals = canddb /@ pairedpaircells[[All, 1]];&#xD;
    del = Transpose[{neigbours, vals}];&#xD;
    Do[&#xD;
      {nb, v} = d;&#xD;
      Do[&#xD;
       canddb[n] = Complement[canddb[n], v]&#xD;
       ,&#xD;
       {n, nb}&#xD;
       ]&#xD;
      ,&#xD;
      {d, del}&#xD;
      ];&#xD;
    VisualizeTectonic[canddb, tectons]&#xD;
&#xD;
![enter image description here][7]&#xD;
&#xD;
We can now execute the above code-pieces repeatedly to further eliminate all the candidates and solve the puzzle:&#xD;
&#xD;
![enter image description here][8]&#xD;
&#xD;
Here is all the code and a while loop that iterates the candidate-elimination functions until there is not progress any more:&#xD;
&#xD;
    ClearAll[VisualizeTectonic, VisualizeTectonicSideHelper, VisualizeTectonicNumberHelper, NeighbourQ, Neighbours]&#xD;
    VisualizeTectonicNumberHelper[{row_, column_}, cand_List] := Module[{p, l, poss, t},&#xD;
      l = Length[cand];&#xD;
      p = {column, -row};&#xD;
      If[l == 1,&#xD;
       Text[Style[First[cand], Black, 17], p]&#xD;
       ,&#xD;
       MapThread[Text[Style[#1, 12, Red], #2] &amp;amp;, {cand, CirclePoints[p, 0.2, l]}]&#xD;
       ]&#xD;
      ]&#xD;
    VisualizeTectonicSideHelper[tecton_List] := Module[{p, sides},&#xD;
      p = {#2, -#1} &amp;amp; @@@ tecton;&#xD;
      sides = Partition[{# + {-0.5, -0.5}, # + {0.5, -0.5}, # + {0.5, 0.5}, # + {-0.5, 0.5}}, 2, 1, 1] &amp;amp; /@ p;&#xD;
      sides = Join @@ sides;&#xD;
      sides = Tally[Sort /@ sides];&#xD;
      Table[If[Last[s] == 1, {Thickness[0.01], Line[First[s]]}, Line[First[s]]], {s, sides}]&#xD;
      ]&#xD;
    VisualizeTectonic[canddb_Association, tectons_List] := &#xD;
     Module[{nums, sides, cb},&#xD;
      nums = KeyValueMap[VisualizeTectonicNumberHelper, canddb];&#xD;
      sides = VisualizeTectonicSideHelper /@ tectons;&#xD;
      cb = #2 - #1 &amp;amp; @@@ CoordinateBounds[Transpose[Join @@ tectons]];&#xD;
      Graphics[{nums, sides}, ImageSize -&amp;gt; Norm[cb] 15]&#xD;
      ]&#xD;
    NeighbourQ[p : {x_, y_}, p2 : {x2_, y2_}] := ChessboardDistance[p, p2] === 1&#xD;
    Neighbours[p : {x_, y_}] := Transpose[p + Transpose[{{-1, -1}, {-1, 0}, {-1, 1}, {0, -1}, {0, 1}, {1, -1}, {1, 0}, {1, 1}}]]&#xD;
    tectons = {&#xD;
       {{1, 1}, {1, 2}, {2, 1}, {2, 2}, {3, 1}},&#xD;
       {{1, 3}, {1, 4}, {1, 5}, {2, 3}, {2, 4}},&#xD;
       {{1, 6}, {1, 7}, {2, 5}, {2, 6}, {3, 5}},&#xD;
       {{1, 8}, {2, 7}, {2, 8}, {3, 6}, {3, 7}},&#xD;
       {{1, 9}, {2, 9}, {3, 9}, {4, 8}, {4, 9}},&#xD;
       {{3, 8}},&#xD;
       {{5, 8}},&#xD;
       {{5, 9}, {6, 8}, {6, 9}, {7, 8}, {7, 9}},&#xD;
       {{4, 6}, {4, 7}, {5, 6}, {5, 7}, {6, 7}},&#xD;
       {{5, 5}, {6, 5}, {6, 6}, {7, 4}, {7, 5}},&#xD;
       {{5, 2}, {5, 3}, {6, 3}, {6, 4}, {7, 3}},&#xD;
       {{3, 3}, {3, 4}, {4, 4}, {4, 5}, {5, 4}},&#xD;
       {{3, 2}, {4, 1}, {4, 2}, {4, 3}, {5, 1}},&#xD;
       {{6, 1}, {6, 2}, {7, 1}, {7, 2}},&#xD;
       {{7, 6}, {7, 7}}&#xD;
       };&#xD;
    givens = &amp;lt;|&#xD;
       {1, 1} -&amp;gt; 1,&#xD;
       {2, 2} -&amp;gt; 2,&#xD;
       {3, 1} -&amp;gt; 4,&#xD;
       {1, 4} -&amp;gt; 1,&#xD;
       {2, 8} -&amp;gt; 3,&#xD;
       {3, 3} -&amp;gt; 4,&#xD;
       {3, 9} -&amp;gt; 4,&#xD;
       {4, 4} -&amp;gt; 1,&#xD;
       {5, 1} -&amp;gt; 4,&#xD;
       {5, 3} -&amp;gt; 5,&#xD;
       {5, 5} -&amp;gt; 4,&#xD;
       {5, 7} -&amp;gt; 5,&#xD;
       {6, 8} -&amp;gt; 3,&#xD;
       {7, 5} -&amp;gt; 2,&#xD;
       {7, 9} -&amp;gt; 5&#xD;
       |&amp;gt;;&#xD;
    &#xD;
    If[! DuplicateFreeQ[Join @@ tectons], Print[&amp;#034;Cells have to be unique among tectonics&amp;#034;]; Abort[];];&#xD;
    canddb = With[{x = #}, {#, Range[Length[x]]} &amp;amp; /@ x] &amp;amp; /@ tectons;&#xD;
    canddb = Association[Rule @@@ (Join @@ canddb)];&#xD;
    KeyValueMap[(canddb[#1] = {#2}) &amp;amp;, givens];&#xD;
&#xD;
    VisualizeTectonic[canddb, tectons]&#xD;
    &#xD;
    oldcanddb = 1;&#xD;
    While[oldcanddb =!= canddb,&#xD;
     oldcanddb = canddb;&#xD;
     &#xD;
     (* delete from neighbours of singles *)&#xD;
     Do[&#xD;
      {k, v} = List @@ Part[Normal[canddb], i];&#xD;
      If[Length[v] == 1,&#xD;
       neighbours = Neighbours[k];&#xD;
       Do[&#xD;
        If[KeyExistsQ[canddb, nb],&#xD;
          canddb[nb] = DeleteCases[canddb[nb], First[v]];&#xD;
          ];&#xD;
        ,&#xD;
        {nb, neighbours}&#xD;
        ]&#xD;
       ];&#xD;
      ,&#xD;
      {i, Length[canddb]}&#xD;
      ];&#xD;
     &#xD;
     (* delete candidates from singles in same tecton *)&#xD;
     Do[&#xD;
      values = canddb /@ t;&#xD;
      If[Length[values] &amp;gt; 1,&#xD;
       singles = Select[Transpose[{t, values}], Length[Last[#]] == 1 &amp;amp;];&#xD;
       nonsingles = Complement[t, singles[[All, 1]]];&#xD;
       (canddb[#1] = Complement[canddb[#1], Join @@ singles[[All, 2]]]) &amp;amp; /@ nonsingles&#xD;
       ]&#xD;
      ,&#xD;
      {t, tectons}&#xD;
      ];&#xD;
     &#xD;
     (* hidden singles *)&#xD;
     Do[&#xD;
      values = canddb /@ t;&#xD;
      values = Tally[Join @@ values];&#xD;
      values = Select[values, Last[#] == 1 &amp;amp;][[All, 1]];&#xD;
      If[Length[values] &amp;gt; 0,&#xD;
       Do[&#xD;
         If[ContainsAny[canddb[c], values],&#xD;
           canddb[c] = Intersection[canddb[c], values]&#xD;
           ];&#xD;
         ,&#xD;
         {c, t}&#xD;
         ];&#xD;
       ]&#xD;
      ,&#xD;
      {t, tectons}&#xD;
      ];&#xD;
     &#xD;
     (* in each tecton search for cells with numbers that appear at least \&#xD;
    twice then look at their common neighbours: eliminate that number \&#xD;
    from the common neighbours *)&#xD;
     Do[&#xD;
      values = canddb /@ t;&#xD;
      values = Tally[Join @@ values];&#xD;
      values = Select[values, Last[#] &amp;gt; 1 &amp;amp;][[All, 1]];&#xD;
      Do[&#xD;
       cells = Select[t, MemberQ[canddb[#], v] &amp;amp;];&#xD;
       nb = Neighbours /@ cells;&#xD;
       nb = Intersection @@ nb;&#xD;
       nb = Complement[nb, cells]; (* strictly speaking not necessary I think *)&#xD;
       nb = Intersection[nb, Join @@ tectons];&#xD;
       If[Length[nb] &amp;gt; 0,&#xD;
        Do[&#xD;
          canddb[n] = DeleteCases[canddb[n], v];&#xD;
          ,&#xD;
          {n, nb}&#xD;
          ];&#xD;
        ];&#xD;
       ,&#xD;
       {v, values}&#xD;
       ]&#xD;
      ,&#xD;
      {t, tectons}&#xD;
      ];&#xD;
     &#xD;
     (* pairs *)&#xD;
     paircells = GatherBy[KeyValueMap[List, Select[canddb, Length[#] == 2 &amp;amp;]], Sort@*Last][[All, All, 1]];&#xD;
     pairedpaircells = Select[paircells, Length[#] &amp;gt; 1 &amp;amp;];&#xD;
     pairedpaircells = Join @@ (Subsets[#, {2}] &amp;amp; /@ pairedpaircells);&#xD;
     pairedpaircells = Select[pairedpaircells, NeighbourQ @@ # &amp;amp;];&#xD;
     neigbours = Intersection[##, Keys[canddb]] &amp;amp; @@@ Map[Neighbours, pairedpaircells, {2}];&#xD;
     vals = canddb /@ pairedpaircells[[All, 1]];&#xD;
     del = Transpose[{neigbours, vals}];&#xD;
     Do[&#xD;
      {nb, v} = d;&#xD;
      Do[&#xD;
       canddb[n] = Complement[canddb[n], v]&#xD;
       ,&#xD;
       {n, nb}&#xD;
       ]&#xD;
      ,&#xD;
      {d, del}&#xD;
      ];&#xD;
     &#xD;
     ]&#xD;
    VisualizeTectonic[canddb, tectons]&#xD;
&#xD;
# Brute force solver #&#xD;
&#xD;
This however does not solve all puzzles:&#xD;
&#xD;
    tectons = {&#xD;
      {{1, 1}, {1, 2}, {2, 1}, {3, 1}, {4, 1}},&#xD;
      {{1, 3}, {1, 4}, {2, 2}, {2, 3}, {3, 2}},&#xD;
      {{1, 5}, {2, 4}, {2, 5}, {3, 3}, {3, 4}},&#xD;
      {{1, 6}, {1, 7}, {2, 7}, {2, 8}, {3, 8}},&#xD;
      {{1, 8}, {1, 9}, {1, 10}, {1, 11}, {2, 9}},&#xD;
      {{1, 12}, {2, 12}},&#xD;
      {{2, 6}, {3, 5}, {3, 6}, {3, 7}, {4, 5}},&#xD;
      {{2, 10}, {2, 11}, {3, 11}, {3, 12}, {4, 12}},&#xD;
      {{3, 9}, {3, 10}, {4, 8}, {4, 9}, {4, 10}},&#xD;
      {{4, 2}, {4, 3}, {5, 1}, {5, 2}, {6, 1}},&#xD;
      {{4, 4}, {5, 4}, {5, 5}, {5, 6}, {6, 5}},&#xD;
      {{4, 6}, {4, 7}, {5, 7}, {5, 8}, {6, 8}},&#xD;
      {{4, 11}, {5, 10}, {5, 11}, {5, 12}, {6, 11}},&#xD;
      {{5, 3}, {6, 3}, {6, 4}, {7, 4}, {7, 5}},&#xD;
      {{6, 6}},&#xD;
      {{6, 7}, {7, 7}, {8, 7}, {8, 8}, {9, 7}},&#xD;
      {{7, 8}, {7, 9}, {8, 9}, {8, 10}, {9, 10}},&#xD;
      {{8, 11}},&#xD;
      {{5, 9}, {6, 9}, {6, 10}, {7, 10}, {7, 11}},&#xD;
      {{6, 12}, {7, 12}, {8, 12}, {9, 11}, {9, 12}},&#xD;
      {{10, 12}},&#xD;
      {{9, 8}, {9, 9}, {10, 9}, {10, 10}, {10, 11}},&#xD;
      {{9, 6}, {10, 5}, {10, 6}, {10, 7}, {10, 8}},&#xD;
      {{9, 1}, {10, 1}, {10, 2}, {10, 3}, {10, 4}},&#xD;
      {{7, 1}, {8, 1}, {8, 2}, {9, 2}, {9, 3}},&#xD;
      {{6, 2}, {7, 2}, {7, 3}, {8, 3}, {8, 4}},&#xD;
      {{7, 6}, {8, 5}, {8, 6}, {9, 4}, {9, 5}}&#xD;
      };&#xD;
    &#xD;
    givens = &amp;lt;|&#xD;
      {1, 1} -&amp;gt; 3,&#xD;
      {3, 1} -&amp;gt; 1,&#xD;
      {1, 3} -&amp;gt; 4,&#xD;
      {1, 5} -&amp;gt; 3,&#xD;
      {1, 10} -&amp;gt; 2,&#xD;
      {2, 12} -&amp;gt; 2,&#xD;
      {3, 11} -&amp;gt; 5,&#xD;
      {5, 1} -&amp;gt; 2,&#xD;
      {5, 8} -&amp;gt; 5,&#xD;
      {5, 11} -&amp;gt; 4,&#xD;
      {6, 3} -&amp;gt; 2,&#xD;
      {7, 1} -&amp;gt; 5,&#xD;
      {7, 11} -&amp;gt; 5,&#xD;
      {7, 12} -&amp;gt; 3,&#xD;
      {8, 6} -&amp;gt; 3,&#xD;
      {9, 9} -&amp;gt; 5,&#xD;
      {9, 12} -&amp;gt; 5,&#xD;
      {10, 2} -&amp;gt; 5,&#xD;
      {10, 8} -&amp;gt; 3&#xD;
      |&amp;gt;;&#xD;
&#xD;
Which can be solved till the following state using the above techniques:&#xD;
&#xD;
![enter image description here][9]&#xD;
&#xD;
We can now define this depth-first recursive backtracking algorithm:&#xD;
&#xD;
    ClearAll[ValidGridQ, BackTrackHelper, BackTrack]&#xD;
    ValidGridQ[canddb_Association, tectons_, lastkey_] := Module[{vals, tecton, nbs},&#xD;
      nbs = Neighbours[lastkey];&#xD;
      nbs = Intersection[nbs, Keys[canddb]]; (* neighbours that exist *)&#xD;
      nbs = First /@ Select[canddb /@ nbs, Length[#] == 1 &amp;amp;]; (* get the values of neighbours with a single value *)&#xD;
      If[FreeQ[nbs, First@canddb[lastkey]], (* if this does not contain the &amp;#039;set&amp;#039; one *)&#xD;
       tecton = SelectFirst[tectons, MemberQ[lastkey]];&#xD;
       vals = canddb /@ tecton;&#xD;
       If[ContainsAll[Flatten[vals], Range[Length[tecton]]], (* each tecton still has all its values in it *)&#xD;
        vals = First /@ Select[vals, Length[#] == 1 &amp;amp;];&#xD;
        DuplicateFreeQ[vals] (* and these set values does not have duplicates *)&#xD;
        ,&#xD;
        False&#xD;
        ]&#xD;
       ,&#xD;
       False&#xD;
       ]&#xD;
      ]&#xD;
    BackTrackHelper[candidatesdb_Association, tectons_] := Module[{nextkey, options, copy},&#xD;
      nextkey = First[Keys[Select[candidatesdb, Length[#] &amp;gt; 1 &amp;amp;]], Missing[]];&#xD;
      If[Not[MissingQ[nextkey]],&#xD;
       options = candidatesdb[nextkey];&#xD;
       Do[&#xD;
        copy = candidatesdb;&#xD;
        copy[nextkey] = {o};&#xD;
        If[ValidGridQ[copy, tectons, nextkey], BackTrackHelper[copy, tectons]]&#xD;
        ,&#xD;
        {o, options}&#xD;
        ]&#xD;
       ,&#xD;
       Throw[candidatesdb];&#xD;
       ]&#xD;
      ]&#xD;
    BackTrack[candidatesdb_Association, tectons_] := Catch[BackTrackHelper[candidatesdb, tectons]; Missing[]]&#xD;
&#xD;
Calling the function and visualizing the output:&#xD;
&#xD;
    canddb = BackTrack[canddb, tectons];&#xD;
    VisualizeTectonic[canddb, tectons]&#xD;
&#xD;
![enter image description here][10]&#xD;
&#xD;
Which is correct! I hope you enjoyed this little solver code. Some related solvers I made can be found here:&#xD;
&#xD;
 - [Solving a KenKen puzzle using logic][11]&#xD;
 - [Solving the UK Intelligence Agency&amp;#039;s Christmas Puzzle][12]&#xD;
 - [Solving Hidato, Beehive, and Numbrix puzzles][13]&#xD;
&#xD;
Most of these solvers work in a similar manner: elimination of candidates.&#xD;
&#xD;
  [1]: http://community.wolfram.com//c/portal/getImageAttachment?filename=11951.png&amp;amp;userId=73716&#xD;
  [2]: http://community.wolfram.com//c/portal/getImageAttachment?filename=83692.png&amp;amp;userId=73716&#xD;
  [3]: http://community.wolfram.com//c/portal/getImageAttachment?filename=70763.png&amp;amp;userId=73716&#xD;
  [4]: http://community.wolfram.com//c/portal/getImageAttachment?filename=36914.png&amp;amp;userId=73716&#xD;
  [5]: http://community.wolfram.com//c/portal/getImageAttachment?filename=86955.png&amp;amp;userId=73716&#xD;
  [6]: http://community.wolfram.com//c/portal/getImageAttachment?filename=45396.png&amp;amp;userId=73716&#xD;
  [7]: http://community.wolfram.com//c/portal/getImageAttachment?filename=72907.png&amp;amp;userId=73716&#xD;
  [8]: http://community.wolfram.com//c/portal/getImageAttachment?filename=86068.png&amp;amp;userId=73716&#xD;
  [9]: http://community.wolfram.com//c/portal/getImageAttachment?filename=70249.png&amp;amp;userId=73716&#xD;
  [10]: http://community.wolfram.com//c/portal/getImageAttachment?filename=1033810.png&amp;amp;userId=73716&#xD;
  [11]: http://community.wolfram.com/groups/-/m/t/613040&#xD;
  [12]: http://community.wolfram.com/groups/-/m/t/755538&#xD;
  [13]: http://community.wolfram.com/groups/-/m/t/892653</description>
    <dc:creator>Sander Huisman</dc:creator>
    <dc:date>2017-04-30T23:03:19Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3598035">
    <title>Visual explanation of the problem Putnam 2025 A3</title>
    <link>https://community.wolfram.com/groups/-/m/t/3598035</link>
    <description>![Visual explanation of the problem Putnam 2025 A3][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=chainandindependantedge.png&amp;amp;userId=23928&#xD;
  [2]: https://www.wolframcloud.com/obj/f9c8f62e-8e66-46ce-8eec-f234a6d7459b</description>
    <dc:creator>Shenghui Yang</dc:creator>
    <dc:date>2025-12-28T02:51:48Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3554402">
    <title>Recreation of World of Goo or bridge construction game with WLJS</title>
    <link>https://community.wolfram.com/groups/-/m/t/3554402</link>
    <description>![Recreation of World of Goo or bridge construction game with WLJS][1]&#xD;
&#xD;
&#xD;
Based on original article: https://wljs.io/blog/2025/08/22/goo/&#xD;
&#xD;
Here we shall try to model a system of interconnected bonds using the Verlet method. Then, we&amp;#039;ll add some visuals to make it feel like a game.&#xD;
&#xD;
#Motion Equations&#xD;
&#xD;
The system of connected points must obey Newton&amp;#039;s laws and kinematic equations as well. To integrate them in real-time, Euler&amp;#039;s method, RK (Runge-Kutta), or Verlet methods can be used. We will go for the Verlet method since it will be easier to apply constraints of the bonds in the future:&#xD;
&#xD;
$$x_{n+1} = 2x_n - x_{n-1} + \frac{f_n}{m} \delta t^2$$&#xD;
&#xD;
We can try to apply it for the simples case, when $\mathbf{f}_n = -m\mathbf{x} / |\mathbf{x}|^4$ is sort of a gravity force caused by a red star in the center&#xD;
&#xD;
    estimateX[n_Integer, initialV_ : 0.01] := &#xD;
      FixedPoint[&#xD;
       Function[&#xD;
        x, {2 x[[1]] - x[[2]] - 0.001  ((x[[1]])/(Power[Norm[x[[1]]], 4])),&#xD;
          x[[1]], x[[2]]}], {{-1.0, 2 initialV 0.01}, {-1.0, &#xD;
         initialV 0.01}, {-1.0, 0}}, n];&#xD;
&#xD;
Now let&amp;#039;s plot our solutions for different initial conditions:&#xD;
&#xD;
    Table[{v, Table[estimateX[n, v][[1]], {n, 1, 100}]}, {v,0,4}];&#xD;
    % // Transpose;&#xD;
    ListLinePlot[&#xD;
      %[[2]]&#xD;
    , PlotStyle -&amp;gt; AbsoluteDashing[{3}]  &#xD;
    , PlotRange -&amp;gt; 2{{-1,1}, {-1,1}}&#xD;
    , PlotLegends -&amp;gt; (StringTemplate[&amp;#034;v = ``&amp;#034;][#]&amp;amp;/@ %[[1]])&#xD;
    , Epilog -&amp;gt; {Red, Disk[{0,0}, 0.1]} &#xD;
    , Frame -&amp;gt; True&#xD;
    , AspectRatio -&amp;gt; 1&#xD;
    ]&#xD;
&#xD;
![enter image description here][2]&#xD;
&#xD;
*The case of v=3 must be related to the orbital velocity of a star*&#xD;
&#xD;
To see it animated we should repeat the calculations for every frame&#xD;
&#xD;
    With[{initialV = 3.0}, &#xD;
     Module[{point = {{-1.0, 2 initialV 0.01}, {-1.0, &#xD;
          initialV 0.01}, {-1.0, 0}}}, &#xD;
      EventHandler[&amp;#034;frameXXX&amp;#034;, Function[Null, point[[3]] = point[[2]];&#xD;
        point[[2]] = point[[1]];&#xD;
        point[[1]] = &#xD;
         2 point[[2]] - &#xD;
          point[[3]] - ((point[[1]])/(Power[Norm[point[[1]]], 4])) 0.001;&#xD;
        point = point; (*to trigger an update*)]];&#xD;
      Graphics[{Point[point // Offload], &#xD;
        AnimationFrameListener[point // Offload, &amp;#034;Event&amp;#034; -&amp;gt; &amp;#034;frameXXX&amp;#034;]}, &#xD;
       PlotRange -&amp;gt; 2 {{-1, 1}, {-1, 1}}, &#xD;
       Epilog -&amp;gt; {Red, Disk[{0, 0}, 0.1]}, AspectRatio -&amp;gt; 1]]]&#xD;
&#xD;
![enter image description here][3]&#xD;
&#xD;
#Constraints Algorithm&#xD;
&#xD;
The simplest and well-known approach for solving the bonds problem is approximating it with springs with finite or infinite stiffness. As it follows from [Wikipedia article][4]:&#xD;
&#xD;
&amp;gt; ![enter image description here][5]&#xD;
&#xD;
where s is an effective stiffness constant: s=1 represents an infinitely stiff spring (hard bond), and s&amp;lt;1 represents a soft bond.&#xD;
&#xD;
&amp;gt; Verlet integration is useful because it directly relates the force to the position, rather than solving the problem using velocities.&#xD;
&#xD;
Note: Constraints Algorithm is applied on the vertices **after** Verlet integration has been performed.&#xD;
&#xD;
Let&amp;#039;s draft a function, that takes the following arguments and process the data efficiently:&#xD;
&#xD;
- list of vertices&#xD;
 - list of indices of fixed vertices&#xD;
 - list of bonds:  &#xD;
        - index A  &#xD;
        - index B  &#xD;
        - initial length  &#xD;
        - stiffness&#xD;
&#xD;
And it should output a new list of vertices:&#xD;
&#xD;
    processVertices[vertices_List, fixed_List, bonds_List] := &#xD;
     Module[{coords = vertices[[1]], coords2 = vertices[[2]], &#xD;
       coords3 = vertices[[3]]}, Do[coords3 = coords2;&#xD;
       coords2 = coords;&#xD;
       Module[{integrated = &#xD;
          2 coords2 - coords3 + Table[{0, -1}, Length[coords]] 0.001}, &#xD;
        MapThread[&#xD;
         Function[{i, j, l, s}, &#xD;
          With[{d = integrated[[i]] - integrated[[j]]}, {norm = &#xD;
             Norm[d]}, {m = 0.5 s Min[(l/(norm + 0.001) - 1), 0.1]&#xD;
            (*avoid blowing up the system*)}, integrated[[i]] += m d;&#xD;
           integrated[[j]] -= m d;]], RandomSample[bonds] // Transpose];&#xD;
        Map[Function[index, integrated[[index]] = coords[[index]];], &#xD;
         fixed];&#xD;
        coords = integrated;];, {2 5}];&#xD;
      {coords, coords2, coords3}]&#xD;
&#xD;
Note: For the stability it is recommended to apply constraints in random order&#xD;
&#xD;
Let us try it on some basic example:&#xD;
&#xD;
    bridge = Join @@ Table[{{i, 75}, {i + 5, 55}}, {i, 1, 100, 10}];&#xD;
    bonds = Join[Table[{i, i + 1}, {i, 1, Length[bridge] - 1, 2}], &#xD;
       Table[{i, i + 2}, {i, 1, Length[bridge] - 2, 2}], &#xD;
       Table[{i + 1, i + 3}, {i, 1, Length[bridge] - 3, 2}]];&#xD;
    bonds = Map[&#xD;
       Join[#, {Norm[bridge[[#[[1]]]] - bridge[[#[[2]]]]], 0.7} // N] &amp;amp;, &#xD;
       bonds];&#xD;
    &#xD;
    plotBridge[bridge_] := &#xD;
      Graphics[{MapThread[{bridge[[#1]], bridge[[#2]]} &amp;amp;, &#xD;
          bonds // Transpose] // Line, Point[bridge], ColorData[97][6], &#xD;
        MapIndexed[Text[#2[[1]], #1] &amp;amp;, bridge]}, &#xD;
       PlotRange -&amp;gt; {{0, 100}, {0, 100}}, &amp;#034;Controls&amp;#034; -&amp;gt; False];&#xD;
    &#xD;
    plotBridge[bridge]&#xD;
&#xD;
![enter image description here][7]&#xD;
&#xD;
Let&amp;#039;s run the simulation for a few iterations and plot the final result, while keeping [1,2] vertices fixed at the original positions&#xD;
&#xD;
    Module[{bridgeState = {bridge, bridge, bridge}},&#xD;
      Do[&#xD;
        bridgeState = processVertices[bridgeState, {1,2,19,20}, bonds];&#xD;
      , {10}];&#xD;
    &#xD;
      Show[plotBridge[bridge], plotBridge[bridgeState[[1]]]]&#xD;
    ]&#xD;
&#xD;
![enter image description here][8]&#xD;
&#xD;
Great! At least it did not collapse :) It would be great to see it live. For this we apply the same strategy with `Offload` technique&#xD;
&#xD;
    Module[{bridgeState, lines, points, frame = CreateUUID[]}, &#xD;
     EventHandler[frame, &#xD;
      Function[Null, &#xD;
       bridgeState = processVertices[bridgeState, {1, 2, 19, 20}, bonds];&#xD;
       lines = &#xD;
        MapThread[{bridgeState[[1, #1]], bridgeState[[1, #2]]} &amp;amp;, &#xD;
         bonds // Transpose];]];&#xD;
     bridgeState = {bridge, bridge, bridge};&#xD;
     lines = &#xD;
      MapThread[{bridgeState[[1, #1]], bridgeState[[1, #2]]} &amp;amp;, &#xD;
       bonds // Transpose];&#xD;
     points = bridge;&#xD;
     Show[plotBridge[bridge], &#xD;
      Graphics[{ColorData[97][9], Point[points // Offload], &#xD;
        Line[lines // Offload], &#xD;
        AnimationFrameListener[lines // Offload, &amp;#034;Event&amp;#034; -&amp;gt; frame]}]]]&#xD;
&#xD;
![enter image description here][10]&#xD;
&#xD;
#Preparing Graphics&#xD;
&#xD;
The original inspiration was a puzzle video game developed and published by 2D Boy - **The World of Goo**. It was first released in 2008. In the game, players must use balls of goo to build structures, such as bridges, towers and etc.&#xD;
&#xD;
We start from the background, and add some blur to it:&#xD;
&#xD;
    background = Blur[&#xD;
![enter image description here][11]&#xD;
&#xD;
    , 10];&#xD;
&#xD;
    clouds = {&#xD;
![enter image description here][12],&#xD;
![enter image description here][13]&#xD;
&#xD;
    };&#xD;
&#xD;
#Rendering&#xD;
&#xD;
Rendering the scene using retained mode with pure raster graphics is more efficient, especially when applying special effects.&#xD;
&#xD;
For this reason we use Javascript Canvas API, which is mapped 1:1 to `Canvas2D` library&#xD;
&#xD;
    Needs[&amp;#034;Canvas2D`&amp;#034;-&amp;gt;&amp;#034;ctx`&amp;#034;] // Quiet; &#xD;
&#xD;
Let&amp;#039;s define a helper function for rendering bonds:&#xD;
&#xD;
    drawBonds[context_, vert_, edges_, &#xD;
       fixed_, {width_, height_}] := (ctx`BeginPath[context];&#xD;
       ctx`SetLineWidth[context, 4];&#xD;
       ctx`SetStrokeStyle[context, &amp;#034;#2C6C75&amp;#034;];&#xD;
       Do[ctx`MoveTo[context, {0, height} - {-1, 1} vert[[p[[1]]]]];&#xD;
        ctx`LineTo[context, {0, height} - {-1, 1} vert[[p[[2]]]]];, {p, &#xD;
         edges}];&#xD;
       ctx`Stroke[context];&#xD;
       ctx`SetFillStyle[context, &amp;#034;#1C4E28&amp;#034;];&#xD;
       (ctx`BeginPath[context];&#xD;
          ctx`Arc[context, {0, height} - {-1, 1} #, 6, 0, 2.0 Pi];&#xD;
          ctx`Fill[context];) &amp;amp; /@ vert;&#xD;
       ctx`SetFillStyle[context, RGBColor[0.9, 0.4, 0.4] // Darker];&#xD;
       (ctx`BeginPath[context];&#xD;
          ctx`Arc[context, {0, height} - {-1, 1} vert[[#]], 4, 0, 2.0 Pi];&#xD;
          ctx`Fill[context];) &amp;amp; /@ fixed;);&#xD;
&#xD;
Here we use the same bridge section and render it using our new raster renderer:&#xD;
&#xD;
    Module[{&#xD;
      ctx = ctx`Canvas2D[]&#xD;
    },&#xD;
      drawBonds[ctx, 5 bridge, bonds, {1,2,19,20}, {500,500}];&#xD;
      ctx`Dispatch[ctx];&#xD;
      Image[ctx, ImageResolution-&amp;gt;{500,500}]&#xD;
    ]&#xD;
&#xD;
![enter image description here][14]&#xD;
&#xD;
As a basic visual effect, we can add a trailing effect to the cursor, similar to how it was done in the original game (to some extent):&#xD;
&#xD;
    drawPointer[context_, trail_, edges_, {width_, height_}] := (&#xD;
      ctx`BeginPath[context];&#xD;
      ctx`SetLineWidth[context, 2];&#xD;
      ctx`SetStrokeStyle[context, RGBColor[0.4, 0.6, 0.9]//Darker];&#xD;
    &#xD;
      Do[&#xD;
        ctx`MoveTo[context, {0, height} - {-1, 1} t[[1]]];&#xD;
        ctx`LineTo[context, {0, height} - {-1, 1} t[[2]]];&#xD;
      , {t, edges}];&#xD;
    &#xD;
      ctx`Stroke[context];&#xD;
      ctx`SetFillStyle[context, RGBColor[0.4, 0.9, 0.6]//Darker];&#xD;
    &#xD;
      Do[&#xD;
        ctx`BeginPath[context];&#xD;
        ctx`Arc[context, {0, height} - {-1, 1} trail[[i]], 6.0/i, 0, 2.0 Pi];&#xD;
        ctx`Fill[context];&#xD;
      , {i, Length[trail]}];&#xD;
    );&#xD;
&#xD;
   -&#xD;
&#xD;
    Module[{&#xD;
      ctx = ctx`Canvas2D[],&#xD;
      trail = Table[{0,0}, {10}],&#xD;
      frame = CreateUUID[],&#xD;
      target = {0,0},&#xD;
      state = Table[bridge // N, {3}]&#xD;
    },&#xD;
      EventHandler[frame, Function[Null,&#xD;
        ctx`ClearRect[ctx, {0,0}, {500,500}];&#xD;
        drawBonds[ctx, 5 state[[1]], bonds, {1,2,19,20}, {500,500}];&#xD;
        drawPointer[ctx, trail, {}, {500,500}];&#xD;
        ctx`Dispatch[ctx];  &#xD;
    &#xD;
        trail = RotateRight[trail, 1];&#xD;
        trail[[1]] = target;&#xD;
    &#xD;
        state = processVertices[state, {1,2,19,20}, bonds];&#xD;
      ]];&#xD;
      &#xD;
      EventHandler[Image[ctx, &#xD;
        ImageResolution-&amp;gt;{500,500},&#xD;
        Epilog-&amp;gt;AnimationFrameListener[ctx, &amp;#034;Event&amp;#034;-&amp;gt;frame]&#xD;
      ], {&#xD;
        &amp;#034;mousemove&amp;#034;-&amp;gt;Function[xy,&#xD;
          target = {0,500} + {1,-1} xy;&#xD;
      ]}]&#xD;
    ]&#xD;
&#xD;
#Utils&#xD;
&#xD;
For adding more bonds to the structure of a bridge, we need to find the shortest links (maximum 2) to the cursor position. Here is a little function for this purpose:&#xD;
&#xD;
    findConnections[vertx_, p_, th_: 2.0] := &#xD;
      With[{a = &#xD;
         MapIndexed[Function[{val, i}, &#xD;
           With[{n = Norm[p - val]}, &#xD;
            If[n &amp;lt; th, {i[[1]], n}, Nothing]]], vertx]}, &#xD;
       If[Length[a] == 0, {}, &#xD;
        If[Length[a] &amp;gt; 2, &#xD;
         TakeSmallestBy[a, Function[v, v[[2]]], 2], a][[All, 1]]]]&#xD;
&#xD;
It is far from the optimal solution, since it naively checks all vertices available.&#xD;
&#xD;
#Wrapping up&#xD;
&#xD;
As the last step, we add a click listener to append new vertices and bonds to the system. For the visuals, we also add a background image and moving clouds in a simple linear pattern:&#xD;
&#xD;
    With[{&#xD;
      frame = CreateUUID[],&#xD;
      ctx = ctx`Canvas2D[],&#xD;
      fixed = NotebookStore[&amp;#034;contemporaneously-be4&amp;#034;]&#xD;
    }, Module[{&#xD;
      p, pointer, trail, target, nearbyVertices, bonds, &#xD;
      offset, targetOffset, cloudsPos, cloudsImages&#xD;
    }, &#xD;
      p = NotebookStore[&amp;#034;audience-36d&amp;#034;];&#xD;
      bonds = NotebookStore[&amp;#034;huckster-6b8&amp;#034;];&#xD;
      &#xD;
      nearbyVertices = {};&#xD;
      cloudsPos = NotebookStore[&amp;#034;circumvention-9f5&amp;#034;];&#xD;
      &#xD;
      cloudsImages = RandomChoice[clouds, 5];&#xD;
      &#xD;
    &#xD;
      pointer = {250,250};&#xD;
      offset = 0.0;&#xD;
      targetOffset = -150;&#xD;
      target = pointer;&#xD;
      trail = Table[pointer, {10}];&#xD;
      &#xD;
      EventHandler[frame, Function[Null,&#xD;
        &#xD;
        (* clear and translate the screen buffer *)&#xD;
        ctx`ClearRect[ctx, {0,0}, {500,500}];&#xD;
        ctx`Translate[ctx, {0, offset}];&#xD;
    &#xD;
        (* background *)&#xD;
        ctx`DrawImage[ctx, background, {0,0}];&#xD;
        MapThread[ctx`DrawImage[ctx, #1, #2]&amp;amp;, {cloudsImages, cloudsPos}];&#xD;
    &#xD;
        (* draw bridge *)&#xD;
        drawBonds[ctx, p[[1]], bonds, fixed, {500,500}];&#xD;
    &#xD;
        &#xD;
        (* draw a cursor *)&#xD;
        drawPointer[ctx, trail, {trail[[1]], p[[1, #]]} &amp;amp;/@ nearbyVertices, {500,500}];&#xD;
    &#xD;
        (* reset transformation and flip the buffers *)&#xD;
        ctx`Translate[ctx, {0, -offset}];&#xD;
        ctx`Dispatch[ctx];&#xD;
    &#xD;
        (* trail computations *)&#xD;
        pointer = 0.35 (target + {0,1} offset) + 0.65 pointer;&#xD;
        trail = RotateRight[trail, 1];&#xD;
        trail[[1]] = pointer;&#xD;
    &#xD;
        (* animation of clouds *)&#xD;
        cloudsPos = Map[If[#[[1]] &amp;gt; 500, {-150, #[[2]]}, # + {1,0}]&amp;amp;, cloudsPos];&#xD;
    &#xD;
        (* camera animation *)&#xD;
        If[target[[2]]  &amp;lt; 100 &amp;amp;&amp;amp; targetOffset &amp;gt; -200, targetOffset-=6.0];&#xD;
        If[target[[2]]  &amp;gt; 500-100 &amp;amp;&amp;amp; targetOffset &amp;lt; 0, targetOffset+=6.0];&#xD;
    &#xD;
        offset = offset + 0.1 (targetOffset - offset);&#xD;
    &#xD;
        (* perform Verlet *)&#xD;
        p = processVertices[p, fixed, bonds];&#xD;
      ]];&#xD;
    &#xD;
      EventHandler[Image[ctx, ImageResolution-&amp;gt;{500,500}, Epilog-&amp;gt;{&#xD;
        AnimationFrameListener[ctx, &amp;#034;Event&amp;#034;-&amp;gt;frame]&#xD;
      }], {&#xD;
        &amp;#034;click&amp;#034; -&amp;gt; Function[xy,&#xD;
          p[[1]] = Append[p[[1]], pointer];&#xD;
          p[[2]] = Append[p[[2]], pointer];&#xD;
          p[[3]] = Append[p[[3]], pointer];&#xD;
          With[{length = Length[p[[1]]]}, &#xD;
            bonds = Join[bonds, Table[&#xD;
              {length, i, Norm[pointer - p[[1, i]]], 0.3}&#xD;
            , {i, nearbyVertices}]];&#xD;
          ];&#xD;
        ],&#xD;
        &amp;#034;mousemove&amp;#034; -&amp;gt; Function[xy,&#xD;
          target = {0, 500} - {-1, 1} xy;&#xD;
          (* scan for vertices near the cursor *)&#xD;
          nearbyVertices = findConnections[p[[1]], pointer, 60];&#xD;
        ]&#xD;
      }]&#xD;
    ]]&#xD;
&#xD;
This wasn&amp;#039;t that hard, was it? It is amazing how powerful Wolfram Language becomes once bridged with web-tech sandbox tools&#xD;
&#xD;
&amp;amp;[Embedded Video][15]&#xD;
&#xD;
Note: If you are reading this from a web page and not from the WLJS Notebook:&#xD;
&#xD;
Some resources were kept within the notebook storage. Download the original notebook from the heading section to have all images and precalculated vertices.&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=world_of_goo2-cc9f5a7ba0a7819e544b1825a7054c5b%281%29.gif&amp;amp;userId=20103&#xD;
  [2]: https://community.wolfram.com//c/portal/getImageAttachment?filename=fig1.png&amp;amp;userId=20103&#xD;
  [3]: https://community.wolfram.com//c/portal/getImageAttachment?filename=1623Fig2_3.gif&amp;amp;userId=20103&#xD;
  [4]: https://en.wikipedia.org/wiki/Verlet_integration&#xD;
  [5]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Fig3.png&amp;amp;userId=20103&#xD;
  [6]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Fig3.jpg&amp;amp;userId=20103&#xD;
  [7]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Fig4.png&amp;amp;userId=20103&#xD;
  [8]: https://community.wolfram.com//c/portal/getImageAttachment?filename=8936Fig5.png&amp;amp;userId=20103&#xD;
  [9]: https://community.wolfram.com//c/portal/getImageAttachment?filename=fig1.png&amp;amp;userId=20103&#xD;
  [10]: https://community.wolfram.com//c/portal/getImageAttachment?filename=2638Fig6.gif&amp;amp;userId=20103&#xD;
  [11]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Fig7.png&amp;amp;userId=20103&#xD;
  [12]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Fig8.png&amp;amp;userId=20103&#xD;
  [13]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Fig9.png&amp;amp;userId=20103&#xD;
  [14]: https://community.wolfram.com//c/portal/getImageAttachment?filename=10912Fig10.png&amp;amp;userId=20103&#xD;
  [15]: https://www.wolframcloud.com/obj/6b15b219-367d-4064-a1fb-70234b202185</description>
    <dc:creator>Kirill Vasin</dc:creator>
    <dc:date>2025-10-02T16:13:59Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3503047">
    <title>[WSRP25] Analyzing chess endgames with multiway systems and ensemble neural networks</title>
    <link>https://community.wolfram.com/groups/-/m/t/3503047</link>
    <description>![Analyzing chess endgames with multiway systems and ensemble neural networks][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=endgame-multiway.svg&amp;amp;userId=3489312&#xD;
  [2]: https://www.wolframcloud.com/obj/fe318266-35a4-49f5-932c-38e569bc272d</description>
    <dc:creator>Winston Cai</dc:creator>
    <dc:date>2025-07-10T21:57:45Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3499558">
    <title>[WSS25] The computational limits of language models</title>
    <link>https://community.wolfram.com/groups/-/m/t/3499558</link>
    <description>![The computational limits of language models][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Screenshot2025-07-09at10.38.19%E2%80%AFPM.jpg&amp;amp;userId=3496601&#xD;
  [2]: https://www.wolframcloud.com/obj/3ad46f1d-5beb-4c92-ab42-fd77480438fd</description>
    <dc:creator>Alex Fogelson</dc:creator>
    <dc:date>2025-07-10T18:16:16Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3497270">
    <title>[WSS25] Sketchy Business: Multivariate Character Visualization with Chernoff Faces</title>
    <link>https://community.wolfram.com/groups/-/m/t/3497270</link>
    <description>![Sketchy Business: Multivariate Character Visualization with Chernoff Faces][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=IMG_0808.jpeg&amp;amp;userId=3494052&#xD;
  [2]: https://www.wolframcloud.com/obj/1f5ce7cd-bec9-4f00-9ca8-2cb42fa018a3</description>
    <dc:creator>Sha&amp;#039;Necia Holden</dc:creator>
    <dc:date>2025-07-10T01:41:33Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3501352">
    <title>[WRSP25] Generating Realistic Cities with Perlin Noise</title>
    <link>https://community.wolfram.com/groups/-/m/t/3501352</link>
    <description>![Generated City][1]&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=coverphoto.jpeg&amp;amp;userId=3501038&#xD;
  [2]: https://www.wolframcloud.com/obj/ethanjcha/Published/RealisticCityGeneration.nb</description>
    <dc:creator>Ethan Cha</dc:creator>
    <dc:date>2025-07-10T20:08:59Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3339808">
    <title>Perfect scrabble game: all-bingo moves, max score, max tiles, randomized algorithmic search</title>
    <link>https://community.wolfram.com/groups/-/m/t/3339808</link>
    <description>![Perfect scrabble game: all-bingo moves, max score, max tiles, randomized algorithmic search][1]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][2]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Main216122024.png&amp;amp;userId=20103&#xD;
  [2]: https://www.wolframcloud.com/obj/0fa0e207-1198-4666-985f-41cb58bd8e48</description>
    <dc:creator>Joseph Brennan</dc:creator>
    <dc:date>2024-12-15T23:39:14Z</dc:date>
  </item>
</rdf:RDF>

