Toon posts:

Derdemachtpuzzel oplossen

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik weet niet of dit in deze categorie hoort?

Ik ben op zoek naar een tool waarmee je een kruiswoordpuzzel met getallen kan oplossen waarbij je geen exacte waarden hebt welke je moet invullen. Je moet er een 36-tal kunnen invullen. Maar er zijn 999 mogelijkheden van getallen die je zou kunnen gebruiken.
Iemand een idee?

Een tool of programmatje?

Alvast bedankt!

Alle reacties


Acties:
  • +3 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Het is toch juist de bedoeling dat met je hoofd te doen? :Y)

Een aimbot voor een kruiswoordpuzzel, klinkt nogal als valsspelen.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • +1 Henk 'm!

  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04 00:29
Verwijderd schreef op vrijdag 1 mei 2020 @ 17:09:
Ik weet niet of dit in deze categorie hoort?

Ik ben op zoek naar een tool waarmee je een kruiswoordpuzzel met getallen kan oplossen waarbij je geen exacte waarden hebt welke je moet invullen. Je moet er een 36-tal kunnen invullen. Maar er zijn 999 mogelijkheden van getallen die je zou kunnen gebruiken.
Iemand een idee?

Een tool of programmatje?

Alvast bedankt!
Heb je nagedacht over een eventueel algoritme of methode dat je dichter bij de oplossing kan brengen ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat bedoel je met algoritme, ken er niet zo veel van.

Ik ben al hele poos handmatig bezig, maar er zijn enorm veel mogelijkheden per getal dat het bijna onmogelijk is.
De getallen bestaan uit 4 tot 7 cijfers. en zijn derdemachten, dus enorm veel mogelijkheden.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
F_J_K schreef op vrijdag 1 mei 2020 @ 17:11:
Het is toch juist de bedoeling dat met je hoofd te doen? :Y)

Een aimbot voor een kruiswoordpuzzel, klinkt nogal als valsspelen.
als je weet welke getallen in de puzzelen thuishoren is dit simpel om met het hoofd te doen, maar als je 100den mogelijkheden hebt?

Acties:
  • 0 Henk 'm!

  • markvt
  • Registratie: Maart 2001
  • Laatst online: 02-10 13:41

markvt

Peppi Cola

Misschien helpt het ook als je zo'n puzzel of een link naar zo'n puzzel plaatst.

van-tilburg.info -=- meka (sega emulator) - Proud MEDION fanclub member - KOPPIG VOLHOUDEN !


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dit is de puzzelAfbeeldingslocatie: https://tweakers.net/i/VBHnwabCkMgCqpFxApOh9MrXKyw=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/imsrOeMuYWBZEQ9y4NlVoqEr.png?f=user_large

Acties:
  • 0 Henk 'm!

  • Kalder
  • Registratie: Oktober 2010
  • Laatst online: 11-06-2023

Kalder

Is het dan geen kruisnummerpuzzel i.p.v. een kruiswoordpuzzel?

🎶 Gets a little messy in heaven 🎶


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kalder schreef op vrijdag 1 mei 2020 @ 17:38:
Is het dan geen kruisnummerpuzzel i.p.v. een kruiswoordpuzzel?
Je moet inderdaad nummers invullen, ik wist niet dit dan ook een andere benaming had.

Maar manier is hetzelfde.

Acties:
  • 0 Henk 'm!

  • Kalder
  • Registratie: Oktober 2010
  • Laatst online: 11-06-2023

Kalder

Verwijderd schreef op vrijdag 1 mei 2020 @ 17:40:
[...]


Je moet inderdaad nummers invullen, ik wist niet dit dan ook een andere benaming had.

Maar manier is hetzelfde.
Ik weet het ook niet, daarom vroeg ik het, maar was eigenlijk min of meer een grapje ;)

🎶 Gets a little messy in heaven 🎶


Acties:
  • +4 Henk 'm!

  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04 00:29
Totaal zijn er 205 derdemachten van 4 tot 7 cijfers , dat is niet astronomisch. Ik heb nog niet verder gerekend, maar ik zie enkele "kruispunten" met twee 7-cijferige getallen.
Er zijn 12 derdemachten van 4 cijfers, dus daarmee zou je kunnen beginnen, dat is nog te overzien. Ik zie enkele kruispunten van 4-cijferige getallen. Ik denk dat dit met een beetje slim programmeren op te lossen moet zijn, maar het kost wel even tijd, zowel het programmeren, als het rekenen.

[ Voor 6% gewijzigd door Henk007 op 01-05-2020 18:01 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Henk007 schreef op vrijdag 1 mei 2020 @ 17:58:
Totaal zijn er 215 derdemachten van 7 cijfers of minder, dat is niet astronomisch. Ik heb nog niet verder gerekend, maar ik zie enkele "kruispunten" met twee 7-cijferige getallen.
Er zijn 12 derdemachten van 4 cijfers, dus daarmee zou je kunnen beginnen, dat is nog te overzien. Ik zie enkele kruispunten van 4-cijferige getallen. Ik denk dat dit met een beetje slim programmeren op te lossen moet zijn, maar het kost wel even tijd, zowel het programmeren, als het rekenen.
Klopt, het aantal derdemachten had ik ook al samen gezet. Dan handmatig per getal elimineren welke niet overeenkomen, maar ik blijf erg veel mogelijkheden overhouden.

Programmeren weet ik niet meteen hoe dit werkt, vandaar ik wat hulp zoek hoe dit in mekaar zit, er moet een manier zijn, maar ik weet niet hoe dit kan.
Handmatig kom ik er niet echt uit.

Acties:
  • +1 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 02:47

g0tanks

Moderator CSA
Waar komt de puzzel vandaan? Dat geeft wellicht ook meer context over wat voor oplossing de maker voor ogen had.

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • 0 Henk 'm!

  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04 00:29
g0tanks schreef op vrijdag 1 mei 2020 @ 18:13:
Waar komt de puzzel vandaan? Dat geeft wellicht ook meer context over wat voor oplossing de maker voor ogen had.
Ik denk dat die vraag niet relevant is, iedere oplossing die 'past' in deze puzzel is correct. Misschien is er meer dan één juiste oplossing.
edit:
via reverse image search ( B-) B-) ) het origineel gevonden:
http://home.wxs.nl/~avdw3b/derdem.html

Daar staat overigens dat er slechts één unieke oplossing is.

[ Voor 19% gewijzigd door Henk007 op 01-05-2020 18:26 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Henk007 schreef op vrijdag 1 mei 2020 @ 18:18:
[...]

Ik denk dat die vraag niet relevant is, iedere oplossing die 'past' in deze puzzel is correct. Misschien is er meer dan één juiste oplossing.
edit:
via reverse image search ( B-) B-) ) het origineel gevonden:
http://home.wxs.nl/~avdw3b/derdem.html
Er zou maar 1 juiste oplossing mogen zijn, dus geen meerdere.
Das het moeilijke dat er geen enkel cijfer gekend is die je zeker moet gebruiken.

Acties:
  • 0 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 02:47

g0tanks

Moderator CSA
Henk007 schreef op vrijdag 1 mei 2020 @ 18:18:
[...]

Ik denk dat die vraag niet relevant is, iedere oplossing die 'past' in deze puzzel is correct.
Dat snap ik, maar het geeft wel mogelijk inzicht in de vraag hoe lang het handmatig op lossen duurt en of er nog slimme truukjes zijn die we over het hoofd zien. Stel het komt uit een Wiskunde Olympiade (als voorbeeld) dan weet je dat het in principe in minder dan een half uur op te lossen moet zijn.

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • +1 Henk 'm!

  • GRDavies75
  • Registratie: December 2014
  • Laatst online: 02-10 10:00

GRDavies75

PSN-id: GRDavies

Je vraagt om een tool om dit op te lossen, die kan ik je niet leveren, maar er is wel een relatief laagdrempelig hulpmiddel (in de evolutie vingers => abacus/telraam => rekenmachine => en nu ... :+ ) :
- Excel (of Calc van de Open-/Libreoffice als je geen Office licentie hebt)

Kleinste 4 cijferig 3e macht = 1000 (te weten 10 ^ 3)
Grootste 7 cijferig 3e macht = 9938375 (te weten 215 ^3)

Zet 10 t/m 215 onder elkaar
formule in de B-kolom, iets in de trant van =MACHT(A1;3) en die naar beneden doortrekken, dat zijn je 206 mogelijke kandidaat getallen.

Maak een kopie van dat tabblad (als master / origineel) en ga daarmee stoeien. Met formules kan je bijvoorbeeld ook de getallen "uit elkaar trekken" en elk los getal in een kolom opnemen:
Voeg een lege regel helemaal in het begin voeg in kolommen en vul in kolommen C t/m i de getallen 1 t/m 7 in en vul in cel C2 de formule in:
code:
1
=ALS.FOUT(DEEL(TEKST($B2;"#");C$1;1);"")

En trek die helemaal door naar cel i207
Je kan zelfs een filter nu toepassen op die headervelden 1 t/m 7 zodat je snel kan filteren op "ah ik zoek een getal van 6 cijfers en die moet op plek 4 bijvoorbeeld een 7 hebben", dan hou je op die manier alleen die kandidaten over die van toepassing zijn.

Met kleurcodering kan je aangeven dat je al een "3e macht getal" hebt gebruikt of gebruik een extra kolom met de tekst gebruikt, zodat je met een filter die regels weg kan filteren.

Een paar voorbeeldjes dat je niet (echt) aan het cheaten bent, maar je maakt je puzzelleven een stuk makkelijker)

Veel plezier en succes (en bedankt voor eventueel een puzzel om zelf op te lossen _/-\o_ )

[ Voor 0% gewijzigd door GRDavies75 op 02-05-2020 10:50 . Reden: quootjes ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
GRDavies75 schreef op zaterdag 2 mei 2020 @ 10:49:
Je vraagt om een tool om dit op te lossen, die kan ik je niet leveren, maar er is wel een relatief laagdrempelig hulpmiddel (in de evolutie vingers => abacus/telraam => rekenmachine => en nu ... :+ ) :
- Excel (of Calc van de Open-/Libreoffice als je geen Office licentie hebt)

Kleinste 4 cijferig 3e macht = 1000 (te weten 10 ^ 3)
Grootste 7 cijferig 3e macht = 9938375 (te weten 215 ^3)

Zet 10 t/m 215 onder elkaar
formule in de B-kolom, iets in de trant van =MACHT(A1;3) en die naar beneden doortrekken, dat zijn je 206 mogelijke kandidaat getallen.

Maak een kopie van dat tabblad (als master / origineel) en ga daarmee stoeien. Met formules kan je bijvoorbeeld ook de getallen "uit elkaar trekken" en elk los getal in een kolom opnemen:
Voeg een lege regel helemaal in het begin voeg in kolommen en vul in kolommen C t/m i de getallen 1 t/m 7 in en vul in cel C2 de formule in:
code:
1
=ALS.FOUT(DEEL(TEKST($B2;"#");C$1;1);"")

En trek die helemaal door naar cel i207
Je kan zelfs een filter nu toepassen op die headervelden 1 t/m 7 zodat je snel kan filteren op "ah ik zoek een getal van 6 cijfers en die moet op plek 4 bijvoorbeeld een 7 hebben", dan hou je op die manier alleen die kandidaten over die van toepassing zijn.

Met kleurcodering kan je aangeven dat je al een "3e macht getal" hebt gebruikt of gebruik een extra kolom met de tekst gebruikt, zodat je met een filter die regels weg kan filteren.

Een paar voorbeeldjes dat je niet (echt) aan het cheaten bent, maar je maakt je puzzelleven een stuk makkelijker)

Veel plezier en succes (en bedankt voor eventueel een puzzel om zelf op te lossen _/-\o_ )
Thanks voor de uitleg. Als ik dit goed begrijp, is dit +- een manier waarop ik zelf werk, maar dan iets meer overzichtelijk.
Zelf doe/deed ik alle opties per getal in kladblok zetten. en dan telkens elk getal overlopen en kijken waar er een cijfer 0-9 niet op een bepaalde plaats in een cijfer mag staan en dan bij de overlappende getallen de niet overeenkomende cijfers verwijderen.

bv horizontaal plek 2 van een getal kan 1 2 3 4 5 6 op die plek staan, dus 0 7 8 9 niet, dan kan bij het overlappende getal verticaal op die plek de getallen waar 0 7 8 9 op die plek staan verwijdert worden.

Uiteindelijk op die manier kom je al snel op een punt waar je nog steeds minstens 7 en meer opties blijft overhouden.

Daar loopt het ook telkens vast.

Acties:
  • +1 Henk 'm!

  • GRDavies75
  • Registratie: December 2014
  • Laatst online: 02-10 10:00

GRDavies75

PSN-id: GRDavies

Nu begint het inderdaad een beetje "off-topic" te worden, in ieder geval als het aankomt op het forum waar je deze vraag post, daar is waarschijnlijk "Algemene zaken" een betere plek voor, maar als mede puzzelliefhebber toch een handreiking te doen.

Ten eerste is deze iets lastiger daar je al geen startcijfers krijgt, maar de puzzel is wel redelijk symetrisch gebouwd, dus er zijn wel een paar makkelijke plekken om mee te beginnen. Er zijn namelijk 4 plekken waar er twee viercijferige getallen elkaar kruizen. Daarnaast zijn er maar 12 viercijferige 3emachtsgetallen. Ze moeten allemaal uniek zijn, dat is een redelijke beginstap om te doen.
De volgende stap zou dan focussen op om in de hoeken de 8 van de mogelijke 25 vijfcijferige 3emachtsgetallen te vinden, met 3 opvolgende cijfers zouden relatief snel de eerste zevencijferige getallen te vinden moeten zijn.

Ik ben nog niet begonnen, dus misschien klinkt het op papier mooi, maar desondanks maar de 12 en/of 25 mogelijkheden is het misschien te lastig (als in teveel opties die overblijven), maar zo zou ik de puzzel aanvliegen.

Wederom succes, maar dit was mijn laatste reactie :)

Acties:
  • +1 Henk 'm!

  • Charango
  • Registratie: Juni 2001
  • Laatst online: 02-10 16:46
Ik heb wat scriptjes gemaakt om tot een oplossing te komen, waardoor ook duidelijk wordt dat het handmatig beginnen met de viercijferige getallen niet gaat werken: stel dat je alles wilt invullen behalve de middelste vier getallen, dan blijken er al 1899 geldige oplossingen te zijn. Stel dat je begint met de middelste vier zevencijferige getallen met het idee om van daaruit naar buiten te werken, dan begin je al met 17128 geldige mogelijkheden. Ik heb serieuze twijfels of er wel een handmatige aanpak bestaat die werkt, maar laat me graag verbazen als iemand hier een geniale inval wil delen. :)

Om de oplossing rekenkundig niet al te zwaar te maken heb ik de puzzel overigens opgedeeld in vier hoekstukken (die elk bestaan uit zes getallen), vier sets van twee viercijferige getallen (die bruggen vormen tussen de hoekstukken) en het centrumdeel. Per hoekstuk ligt het aantal oplossingen in de orde van grootte van 100; deze kunnen in een fractie van een seconde berekend worden. Door het beperkte aantal viercijferige getallen is het aantal mogelijkheden om oplossingen voor verschillende hoeken te combineren niet buitensporig groot. Als laatste stap kunnen alle geldige combinaties vergeleken worden met oplossingen voor het middengebied. Op deze manier kan de oplossing op een normale computer binnen 10 seconden berekend worden.

Acties:
  • 0 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 02:47

g0tanks

Moderator CSA
Charango schreef op dinsdag 5 mei 2020 @ 17:28:
Ik heb wat scriptjes gemaakt om tot een oplossing te komen, waardoor ook duidelijk wordt dat het handmatig beginnen met de viercijferige getallen niet gaat werken: stel dat je alles wilt invullen behalve de middelste vier getallen, dan blijken er al 1899 geldige oplossingen te zijn. Stel dat je begint met de middelste vier zevencijferige getallen met het idee om van daaruit naar buiten te werken, dan begin je al met 17128 geldige mogelijkheden. Ik heb serieuze twijfels of er wel een handmatige aanpak bestaat die werkt, maar laat me graag verbazen als iemand hier een geniale inval wil delen. :)

Om de oplossing rekenkundig niet al te zwaar te maken heb ik de puzzel overigens opgedeeld in vier hoekstukken (die elk bestaan uit zes getallen), vier sets van twee viercijferige getallen (die bruggen vormen tussen de hoekstukken) en het centrumdeel. Per hoekstuk ligt het aantal oplossingen in de orde van grootte van 100; deze kunnen in een fractie van een seconde berekend worden. Door het beperkte aantal viercijferige getallen is het aantal mogelijkheden om oplossingen voor verschillende hoeken te combineren niet buitensporig groot. Als laatste stap kunnen alle geldige combinaties vergeleken worden met oplossingen voor het middengebied. Op deze manier kan de oplossing op een normale computer binnen 10 seconden berekend worden.
Klinkt goed! Ik vraag me af: hoe kan je netjes programmeren dat je een boel getallen hebt waarvan 1, 2, 3 of zelfs 4 digits moeten matchen met een ander getal? Of is dat niet makkelijk uit te leggen?

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • 0 Henk 'm!

  • Charango
  • Registratie: Juni 2001
  • Laatst online: 02-10 16:46
hoe kan je netjes programmeren dat je een boel getallen hebt waarvan 1, 2, 3 of zelfs 4 digits moeten matchen met een ander getal?
Je bekijkt alle combinaties (bijvoorbeeld door een aantal geneste loops) en test voor elke positie waar meerdere cijfers samenkomen of die cijfers hetzelfde zijn. Wat bij deze puzzel wel onhandig is is dat je handmatig moet definiëren welke posities overeen moeten komen.

Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 20:37

BCC

Dit is best een toffe puzzel zeg :)

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

  • Diablow
  • Registratie: Januari 2001
  • Laatst online: 04-04 18:56
Zeker tof, ik denk zelf dat beginnen bij de lengtes van 4 een goede strategie kan zijn. Daarbij zijn er maar 11 mogelijke getallen, en in totaal zijn er 8, waarbij ze steeds in paren staan.

Acties:
  • 0 Henk 'm!

  • edeboeck
  • Registratie: Maart 2005
  • Laatst online: 11-09 13:47

edeboeck

mie noow noooothing ...

g0tanks schreef op dinsdag 5 mei 2020 @ 17:54:
[...]


Klinkt goed! Ik vraag me af: hoe kan je netjes programmeren dat je een boel getallen hebt waarvan 1, 2, 3 of zelfs 4 digits moeten matchen met een ander getal? Of is dat niet makkelijk uit te leggen?
Ik zou denken dat een taal als Prolog wel geschikt kan zijn om deze te proberen oplossen. Helaas heb ik nu niet voldoende tijd om met mijn zeer beperkte kennis daarvan aan de slag te gaan.

Acties:
  • 0 Henk 'm!

  • Diablow
  • Registratie: Januari 2001
  • Laatst online: 04-04 18:56
edeboeck schreef op dinsdag 5 mei 2020 @ 18:32:
[...]
Ik zou denken dat een taal als Prolog wel geschikt kan zijn om deze te proberen oplossen.
Iets met backtracking of lazy evaluation is wel gewenst denk ik. Alle mogelijkheden eerst genereren gaat je waarschijnlijk niet lukken in het geheugen. Haskell of Clojure zou ook goed kunnen denk ik. Maar zelf nu geen tijd voor.

Acties:
  • 0 Henk 'm!

  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04 00:29
Ik heb zelf helaas ook te weinig concrete kennis van programmeren, maar volgens mij moet het in iedere programmeertaal mogelijk zijn, bijvoorbeeld Python. Alle mogelijke kandidaten in het geheugen bewaren lijkt inderdaad onmogelijk, maar ik zat te denken om de puzzel in segmenten op te delen en dat voor een segment oplossingen te zoeken en dan vervolgens steeds het segment uit te breiden en zoeken of de nieuwe oplossingen consistent zijn met de bestaande. Geen idee hoe dit uitkomt qua rekentijd om het brute force te doen ( met geneste loops)

Acties:
  • 0 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 02:47

g0tanks

Moderator CSA
Charango schreef op dinsdag 5 mei 2020 @ 18:11:
[...]


Je bekijkt alle combinaties (bijvoorbeeld door een aantal geneste loops) en test voor elke positie waar meerdere cijfers samenkomen of die cijfers hetzelfde zijn. Wat bij deze puzzel wel onhandig is is dat je handmatig moet definiëren welke posities overeen moeten komen.
Henk007 schreef op woensdag 6 mei 2020 @ 14:00:
Ik heb zelf helaas ook te weinig concrete kennis van programmeren, maar volgens mij moet het in iedere programmeertaal mogelijk zijn, bijvoorbeeld Python. Alle mogelijke kandidaten in het geheugen bewaren lijkt inderdaad onmogelijk, maar ik zat te denken om de puzzel in segmenten op te delen en dat voor een segment oplossingen te zoeken en dan vervolgens steeds het segment uit te breiden en zoeken of de nieuwe oplossingen consistent zijn met de bestaande. Geen idee hoe dit uitkomt qua rekentijd om het brute force te doen ( met geneste loops)
Geneste loops leken mij inderdaad het meest straightforward, maar ik ben juist benieuwd naar hoe je dat zou aanpakken als de puzzel 10 keer zo groot is. Om dan alle condities netjes te programmeren lijkt mij best een uitdaging.

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • 0 Henk 'm!

  • edeboeck
  • Registratie: Maart 2005
  • Laatst online: 11-09 13:47

edeboeck

mie noow noooothing ...

g0tanks schreef op woensdag 6 mei 2020 @ 14:19:
[...]
Geneste loops leken mij inderdaad het meest straightforward, maar ik ben juist benieuwd naar hoe je dat zou aanpakken als de puzzel 10 keer zo groot is. Om dan alle condities netjes te programmeren lijkt mij best een uitdaging.
Van daar dat een logische programmeertaal een oplossing kan zijn: dan ben je immers niet echt condities aan het programmeren, maar leg je de regels vast. Hoe zich dat in performantie vertaalt, kan ik helaas niet zeggen.

Acties:
  • 0 Henk 'm!

  • SinergyX
  • Registratie: November 2001
  • Laatst online: 22:25

SinergyX

____(>^^(>0o)>____

Henk007 schreef op woensdag 6 mei 2020 @ 14:00:
Ik heb zelf helaas ook te weinig concrete kennis van programmeren, maar volgens mij moet het in iedere programmeertaal mogelijk zijn, bijvoorbeeld Python. Alle mogelijke kandidaten in het geheugen bewaren lijkt inderdaad onmogelijk, maar ik zat te denken om de puzzel in segmenten op te delen en dat voor een segment oplossingen te zoeken en dan vervolgens steeds het segment uit te breiden en zoeken of de nieuwe oplossingen consistent zijn met de bestaande. Geen idee hoe dit uitkomt qua rekentijd om het brute force te doen ( met geneste loops)
Er zijn maar 215 'cube' cijfers onder de 7 cijfers (minus 10 onder 4 cijfers), dat is peanuts om daarmee in het geheugen te gaan werken.

Er zijn maar 12 4-cijfer getallen, dat is perfect voor je uitgangspunt.

Dan maak je paartjes waarin 2/3de cijfer matches met 1/4de cijfer (zie puzzel, 4 cijfer snijd 4 cijfer), dat zijn je base-paartjes. Daarmee gooi je gewoon alle cijfers erin, op elke joint een groepering van mogelijkheden en deze valt af als deze verderop niet past.

Verwacht niet dat dit bruteforce echt veel tijd nodig heeft, het is geen rekenen maar puur matchen en elimineren. Zal me niets verbazen dat hier gewoon al scripts van zijn, maar je ze specifiek moet vinden met de juiste zoektermen (zo zijn er al genoeg kruiscijferpuzzel en sudoku oplossers).

[ Voor 6% gewijzigd door SinergyX op 06-05-2020 14:56 ]

Nog 1 keertje.. het is SinergyX, niet SynergyX
Im as excited to be here as a 42 gnome warlock who rolled on a green pair of cloth boots but was given a epic staff of uber awsome noob pwning by accident.


Acties:
  • 0 Henk 'm!

  • pagani
  • Registratie: Januari 2002
  • Niet online
Viercijferige derdemachten zijn er maar 12. Vijfcijferige 25. Daarmee kun je al een eenvoudige start maken (ik zie een aantal viercijferigen elkaar kruisen, daar kun je heel snel de juiste combinaties vinden met een lijstje)

Acties:
  • 0 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 02:47

g0tanks

Moderator CSA
pagani schreef op donderdag 7 mei 2020 @ 17:21:
Viercijferige derdemachten zijn er maar 12. Vijfcijferige 25. Daarmee kun je al een eenvoudige start maken (ik zie een aantal viercijferigen elkaar kruisen, daar kun je heel snel de juiste combinaties vinden met een lijstje)
Dat is al een aantal keer geopperd in dit topic, maar dat valt vies tegen:
Charango schreef op dinsdag 5 mei 2020 @ 17:28:
Ik heb wat scriptjes gemaakt om tot een oplossing te komen, waardoor ook duidelijk wordt dat het handmatig beginnen met de viercijferige getallen niet gaat werken: stel dat je alles wilt invullen behalve de middelste vier getallen, dan blijken er al 1899 geldige oplossingen te zijn. Stel dat je begint met de middelste vier zevencijferige getallen met het idee om van daaruit naar buiten te werken, dan begin je al met 17128 geldige mogelijkheden. Ik heb serieuze twijfels of er wel een handmatige aanpak bestaat die werkt, maar laat me graag verbazen als iemand hier een geniale inval wil delen. :)

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • 0 Henk 'm!

  • Diablow
  • Registratie: Januari 2001
  • Laatst online: 04-04 18:56
Truc is om snel mogelijkheden te elimineren, maar geen idee wat daar het beste voor werkt. Als sommige getallen niet op sommige plekken voor kunnen komen zou dat al iets zijn, Zo is '0' natuurlijk nooit het eerste cijfer. Heb ook geen idee hoe lang je brute force bezig bent met gewoon alle mogelijkheden af gaan.

Acties:
  • 0 Henk 'm!

  • SinergyX
  • Registratie: November 2001
  • Laatst online: 22:25

SinergyX

____(>^^(>0o)>____

Diablow schreef op donderdag 7 mei 2020 @ 17:59:
Truc is om snel mogelijkheden te elimineren, maar geen idee wat daar het beste voor werkt. Als sommige getallen niet op sommige plekken voor kunnen komen zou dat al iets zijn, Zo is '0' natuurlijk nooit het eerste cijfer. Heb ook geen idee hoe lang je brute force bezig bent met gewoon alle mogelijkheden af gaan.
Ik heb pas een paar gevonden, zo kan bv bij 3rde getal van 5 cijfers dit nooit 2 of 4 zijn, dat zijn maar 4 posities in de puzzel, maar scheelt er toch weer een paar :P (11 en 14 mogelijkheden per keer). Verder heb ik ook matches gemaakt van de 4 naar 6 cijfers (2de positie 456, 3rde positie 8 vallen af), dus linkboven had ik terug tot 4 mogelijkheden die daar als 'set' kunnen. Probleem dat die kruisen met een 6 en 7 cijfer.. zijn meteen weer 40+ mogelijkheden :(

Nog 1 keertje.. het is SinergyX, niet SynergyX
Im as excited to be here as a 42 gnome warlock who rolled on a green pair of cloth boots but was given a epic staff of uber awsome noob pwning by accident.


Acties:
  • 0 Henk 'm!

  • Charango
  • Registratie: Juni 2001
  • Laatst online: 02-10 16:46
Diablow schreef op donderdag 7 mei 2020 @ 17:59:
Truc is om snel mogelijkheden te elimineren, maar geen idee wat daar het beste voor werkt. Als sommige getallen niet op sommige plekken voor kunnen komen zou dat al iets zijn, Zo is '0' natuurlijk nooit het eerste cijfer.
Zoals ik in mijn eerste post hierboven heb aangegeven zijn er voor de situatie waarin alles is ingevuld behalve de laatste vier getallen in het midden zo'n 1900 geldige mogelijkheden. Dus tenzij je er in slaagt zoveel te elimineren dat praktisch alleen de juiste oplossing overblijft schiet dit niet hard op. Bij het plaatsen van viercijferige getallen zijn er al diverse mogelijkheden en bij de zes- en zevencijferige getallen komen alle getallen op alle plaatsen voor, dus zelfs als je maar vier getallen probeert in te vullen (twee vieren en twee buren daarvan) zijn er na het elimineren van alle onmogelijke opties alsnog honderden opties.
Heb ook geen idee hoe lang je brute force bezig bent met gewoon alle mogelijkheden af gaan.
Als je kijkt hoeveel derdemachten er zijn (van vier, vijf, zes en zeven cijfers) en hoe vaak deze geplaatst moeten worden kom je op een aantal mogelijkheden in de orde van grootte van 10^57. Als je sinds de oerknal bent begonnen hiervan honderdduizend miljard per milliseconde te testen zou je nu nog altijd geen significant deel van de mogelijkheden hebben getest. Als je echter naar één van de hoeken kijkt (met 2 vijfcijferige, 2 zescijferige en 2 zevencijferige getallen) zijn er maar 22 miljard combinaties. Die hoef je bovendien niet allemaal te testen, want na twee cijfers te combineren valt al ongeveer 90% van de opties af, bij het derde getal valt weer 90% af en bij het plaatsen van getallen op plekken waar al twee cijfers gedefinieerd zijn zelfs 99%. Vandaar dat een simpel script met een zestal geneste loops in zeer korte tijd de oplossingen voor zo'n hoek kan vinden.

Acties:
  • +1 Henk 'm!

  • SinergyX
  • Registratie: November 2001
  • Laatst online: 22:25

SinergyX

____(>^^(>0o)>____

Henk007 schreef op vrijdag 1 mei 2020 @ 18:18:
via reverse image search ( B-) B-) ) het origineel gevonden:
http://home.wxs.nl/~avdw3b/derdem.html

Daar staat overigens dat er slechts één unieke oplossing is.
Toevallig zat ik nog op die site te kijken wat er nog meer stond, toen zag ik de auteur.
Aad van de Wetering

Die man heeft een paar briljante sudoku's gemaakt (ze komen regelmatig langs bij cracking the cryptic), maar hij vermeld ook:
Het maken en oplossen van allerlei exotische puzzels doe ik met veel genoegen. Als de nood hoog is kan het inzetten van mijn pc dan wel het internet erg nuttig zijn, zo is mij in de loop der jaren gebleken.
Als dit zijn creatie is, zou je kunnen stellen dat dit dus zonder bruteforcing moet te doen zijn... En als ik kijk hoe die 2 heren van Cracking the cryptic zaken aanpakken, heb ik simpelweg de kennis niet om die trucjes toe te passen :P

Nog 1 keertje.. het is SinergyX, niet SynergyX
Im as excited to be here as a 42 gnome warlock who rolled on a green pair of cloth boots but was given a epic staff of uber awsome noob pwning by accident.


Acties:
  • +3 Henk 'm!

  • KabouterSuper
  • Registratie: September 2005
  • Niet online
Verwijderd schreef op vrijdag 1 mei 2020 @ 17:09:
Ik weet niet of dit in deze categorie hoort?

Ik ben op zoek naar een tool waarmee je een kruiswoordpuzzel met getallen kan oplossen waarbij je geen exacte waarden hebt welke je moet invullen. Je moet er een 36-tal kunnen invullen. Maar er zijn 999 mogelijkheden van getallen die je zou kunnen gebruiken.
Iemand een idee?

Een tool of programmatje?

Alvast bedankt!
Zoals al eerder genoemd, is dit een mooi probleem voor backtracking. Ik heb het even uitgeprobeerd in python, en met 2 uurtjes programmeren, een uurtje debuggen en een half uurtje 'voor het echie' draaien had ik de oplossing. [Update: zonder debug en log is het 21 minuten]
Er waren twee dingetjes lastig.
Ten eerste moet je alle lengten van de getallen weten en de plekken waar de getallen elkaar kruizen benoemen. Ik heb hiervoor een reeks strings gemaakt die er uitzien als x,y>z; wat betekent dat het xde cijfer gelijk moet zijn aan het z-de cijfer van getal y. Voorbeeld:
getal 0 is 1 horizontaal met lengte 5
getal 1 is 1 verticaal met lengte 6 en beperking 1,0>1
Deze strings gebruik ik in Python om te checken of een getal ingevuld mag worden op die plek.
Ten tweede moet je een beetje handig zijn met het kiezen van je volgorde waarin je de cijfer invult. Als je van links naar rechts oplost, dan duurt het heel lang (daar was ik mee begonnen). Toen ik de volgorde veranderde zo dat je minstens 1 cijfer weet van het getal dat je wilt proberen, ging het een stuk sneller.

De code is overigens behoorlijk kort (zoals dat hoort bij backtracking ;) ):
35 regels om de lengten en kruizen in de puzzel te definieren,
50 regels echte code
24 regels debugging en logging

[ Voor 4% gewijzigd door KabouterSuper op 27-05-2020 16:37 ]

When life gives you lemons, start a battery factory

Pagina: 1