How kan jag göra en B * -tree i ett pussel?

21

Mina spelare, som är ganska rädda för följderna av skada (mindre forskningstid), har bett mig om en serie magiska pussel för deras nästa äventyr. Jag har bestämt att det ungefär kommer att följa ett 5-rums äventyrsformat.

Det första pusset medför ordet pussel, och det tredje kommer att innebära komplicerade sanningstabeller. Jag vill dock att det andra pusset är utforskningen inifrån av ett b * träd , som vanligtvis används i databasindex.

Funktionellt är det en logisk trädstruktur som balanserar på nya insatser. Medan intuiting dess regler kommer att göra ett bra pussel, saknar jag en bit:

Vad är ett acceptabelt mål för ett pussel som involverar ett b * träd, och hur skulle du rama detta mål?

Till exempel:

[Du] 4 magi går in i en jätte grotta, golvad med moln. (Ju mer fantastiskt desto bättre). Det finns gyllene plattformar som strömmar in, som tycks vara kopplade till fina silvertrådar och små kopparnålar som fäster dem på andra plattformar. Det finns en spärrad grind i den andra änden av den grummade grottan. Det finns en luft av ouppfylld potential här.

... som inte gör något för att utforska pusselparametrarna eller formulera den centrala utmaningen.

Alternativt:

Det finns en höjd av numrerade tabletter och ett jätte maskigt rör framför dem. När de går igenom röret med en tablett, röret rör sig runt för att peka på en annan nodulär med ställning för en tablett.

    
uppsättning Brian Ballsun-Stanton 14.11.2012 06:38

3 svar

15

You walk into a giant cave, floored with clouds. There is a single golden platform, floating in the sky near the precipice you stand on, like a boat docked on the shore. Engraved on it is the arcane rune XIII. A short distance further you see your destination: another platform extending out into the clouds.

The platform is large enough for all of you and supports your weight. On it you find nearly two dozen glass bottles, each appears to hold in it a cloud, and each bears a different arcane rune, I-XI. XIII is notable absent. Upon unstoppering the last bottle, a cloud in the shape of the rune appears, and a fine silver thread attaches it to the golden platform which begins to shift. Upon opening another, "XIV", it too has a similar effect. You wait for the room to stop shifting.

Unfortunately you're further from your goal, and only the golden platform XIII can support your weight. Placing the stoppers back on the bottles, however, sucks their ethereal clouds back in, leaving the room once again how you found it. You have an idea, though, and upon unstoppering bottles "I" and "II", you've made it slightly closer to the other side.

After just two more opened bottles, the platform on which you stand has gotten close enough to the stone pier for you to safely jump across.

You continue on your epic quest, more glad than ever that you decided not to study computer science...

    
svaret ges 14.11.2012 08:17
3

Jag gav två pussel:

You are standing on one side of a bridge which terminates before its middle in a golden cloud. The other side of the bridge is offset, but there are slight streamers of golden trailing from the edge of the railing-less bridge, and the winds howl around you. Inscribed in the base of the cloud is XIII. On the cloud there are twenty-one bottles, each inscribed with I to XI. The bottle marked XIII is open, and its cork is lying to the side. To cross, it seems that you need to uncork the right bottles.

Detta var ett enkelt experimenteringsrum där brute force skulle hitta svaret ganska snabbt. Mina spelare tog flaskorna av molnet och jag använde kort för att representera de olika siffrorna. Jag skrev in siffrorna i appleten på min dator så jag behövde inte balansera trädet för hand. Rego Herbam var väldigt användbart för spelarna när de stoppade flaska 13 och behövde stoppa det snabbt.

Generellt ganska intressant tid för experiment.

Du står i ett stort, marmorgolvat rum. En stråle av 6 färger av ljus skiner genom mitten, Röd, Orange, Gul, Grön, Blå, Violett. Det finns tjugosex flaskor på ena sidan av rummet, var och en märkt med ett bokstav i alfabetet. Flaskorna R, O, Y, G, B och V har splittrats. Det finns sex linser, var och en av färgerna ligger i andra sidan av rummet.

En varning läggs över flaskorna, "Det finns inte tillräckligt med luft för 6 av oss."

När mina spelare förstod hur sorteringen fungerade (jag drog ut my icehouse-bitar och kombinerade dem med korten för att visa hur prismorna splittrade strålarna) så löstes det relativt snabbt och framgångsrikt.

Ett nytt pussel som var en måttlig framgång.

    
svaret ges 16.11.2012 12:36
1

Egentligen om du hänvisar till ett binärt träd kan du ha lite roligt med att få dina spelare att gå från nod till nod som försöker kartlägga en korrekt sekvens av "Förbeställning", "Beställning" eller " Postorder". länk

Här är en fusksguide för förbeställning: Om alla spelare börjar i Root Node (som är ritad på toppen av trädet (Nord) med upp till två vägar som leder ner (söder)), de skriver på ett papper den nod de är för närvarande i (eftersom de inte har varit där förut), sedan med sin högra hand på grottans vägg, de väljer den vänstra vägen (högeraste vägen från sitt perspektiv när de ser söderut), De följer vägen med handen tills de når nästa nod ... var om det är en ny unvisited node - skriver de namnet på den nya noden på pappersarket, följ sedan vägen som deras hand leder dem (vilket innebär att om det här är en död, spårar de deras rutt tillbaka igen).

Dessa steg upprepas om och om tills de återvänder till den rotknut som de började vid (och med alla vägar från den rotta noden som besöktes). Den pappersbit de skrev på är "pre-order" notationen för hela binärträdet.

För postorder är allt som behövs istället att skriva ner namnet på varje nod som besökts på pappersarket (efter det föregående skrivet) och radera eventuella tidigare omnämnanden om den tidigare besöktes. Papperet kommer nu att ge en lista över postordern från sekvensen av nodnamn som inte raderades / korsades.

    
svaret ges 16.11.2012 13:59