Mayby simple for you but... Hidden Doubles/Triples/Quads

When you have problems solving a Sudoku, ask fellow members to help you
XiViX
Regular
Regular
Posts: 14
Joined: Tue Feb 13, 2007 9:24 pm
Location: Netherlands

Mayby simple for you but... Hidden Doubles/Triples/Quads

Post by XiViX »

Hello,

I have a uge problem :( im trying for 2 days now and im still on the same point.. however i think i solved 1 thing and that is selecting the doubles but im stil nog quiet shure if this will work in all sudoku's...

The naked doubles, triples and quads works fine.

Can you help me out???

This is what i used to get the hidden doubles, triples and quads:

if ($VLD{$POS} =~ /\d\d([$NUM]{2,4})/ && $NUM ne $VLD{$POS}) {
print "<b>OK</b><br>\n";
} else {
print "NOPE!<br>\n";
}

but if i check on doubles it will only check 1234 eq 23 but not when 23 eq 1234 mayby ill find it out these days

But i still dont know whitch digits i need to keep beqourse 123 can be 12 and also 23 and also 13 i still dont know if i can delete it or not

but if you got a better sollution please let me know!!

Im programming in perl

http://sulogo.vondsten.nl/fortest.cgi
http://sulogo.vondsten.nl/nummer.cgi

Regards,

Christian
Netherlands
Ruud
Site Owner
Site Owner
Posts: 601
Joined: Fri Dec 30, 2005 10:21 pm

Post by Ruud »

I'm not familiar with perl, so I cannot help you with the language, but this is the method I use to find naked subsets:

1. Convert each candidate to a bit value.

1=1, 2=2, 3=4, 4=8, 5=16, 6=32, 7=64, 8=128, 9=256

2. Add all bit values together for each cell.

This will give you a number (CV) between 1 and 511.

3. To look for a subset of size N:

- perform a logical OR for any group of N CV in a row, column or box.
- count the number of bits in the result (CX)
- if the count equals N, you have found a subset of size N.

4. To eliminate the remaining candidates:

- XOR CX with each CV number not belonging to the subset.
- Convert the CV numbers back to a candidate string.

I hope you can do this in perl,
Ruud
“If the human brain were so simple that we could understand it, we would be so simple that we couldn't.” - Emerson M Pugh
XiViX
Regular
Regular
Posts: 14
Joined: Tue Feb 13, 2007 9:24 pm
Location: Netherlands

Post by XiViX »

Hehehehe no problem :P :S lol ill try, mayby ill find an other solution :D but it sounds simple

thanks,

Christian
Netherlands
Marlie
Master
Master
Posts: 167
Joined: Sat Dec 31, 2005 1:27 pm
Location: Venray Netherlands

Post by Marlie »

Hello Christian
Where is the original?
I had a short look on this one and only found 3 times an x-wing.

Hallo Christaan
Waar heb je deze puzzel vandaan en is dit t origineel of heb je zelf al e.e.a weggestreept?
Ik wil um ook graag proberen te maken, vandaar.
X-wing:
de 5-en op rij 3 en 8,
de 1-en op rij 2 en 8,als je dan hebt weggestreept wat weg kan blijft er weer een x wing over:
de 1-en op rij 3 en 7

ik heb um opgelost.
Als je hebt gedaan als hierboven blijft er in rij 8 maar 4 plaaten over waar je de 1,3,8 en 9 kan plaatsen dus die kun je in de rest van de rij wegstrepen.

Heb je er nog meer?



En samen komen we er wel uit.
Groetjes Marlie
XiViX
Regular
Regular
Posts: 14
Joined: Tue Feb 13, 2007 9:24 pm
Location: Netherlands

Post by XiViX »

Hello Marlie,

It's about line 7 with the numbers:

1: 5
2: 1246
3: 14
4: 267
5: 24679
6: 39
7: 139
8: 1389
9: 38

If i run my naked triple i get as results:

1: 5
2: 246
3: 14
4: 267
5: 2467
6: 39
7: 139
8: 1389
9: 38

If i run it then it will remove the 1 from R7/C2 and it removes the 9 from R7/C5 but i dont know why :-) hihihi programming stays weard sometimes :D

This is about the puzle from your website puzle:

605301204703000509000000000100936007000000000900457001000000000807000402309108706

Hallo Marlie,

Ik snap ut ffies niet meer, ben nu al 3 dagen aan het kl*ten om de hidden doubles/triples en quads weg te strepen alleen de logica om het weg te strepen vergaat mij een beetje. Maar misschien dat het ook op een andere manier wil? Ik ben momenteel alleen even een test solver aan het maken en daar na wil ik gaan proberen om de solver alles op te lossen binnen een halve seconde :D moet tog lukken?

Groetjes,

Christian
Netherlands

PS Ruud? (tipical Dutch name) Can you send me a peace from your XOR/OR CX code, i have tryed to find any good information but its still not clear how i need to use it, also my english fails sometimes :D

Thanks!!!
Marlie
Master
Master
Posts: 167
Joined: Sat Dec 31, 2005 1:27 pm
Location: Venray Netherlands

Post by Marlie »

Hoi Christian
Ik weet niks van solvers ik doe alles met mun eigen koppie
Je hebt ook de puzzel in de link veranderd en ik word geen wijs meer uit je beschrijving van rijen 7.
Kun je me per mail het origineel sturen?
En uitleggen waar je dan niks van snapt?
Ik zal dan kijken of ik het stap voor stap aan je kan uitleggen.
Maar een solver binnen een halve seconde is wel leuk maar wat heb je eraan?
Groeten Marlie
XiViX
Regular
Regular
Posts: 14
Joined: Tue Feb 13, 2007 9:24 pm
Location: Netherlands

Post by XiViX »

Woeps ik zag 't :-) sorry :D terug geplaatst!
Marlie
Master
Master
Posts: 167
Joined: Sat Dec 31, 2005 1:27 pm
Location: Venray Netherlands

Post by Marlie »

Wat wil je nog weten precies.
Je hebt een quad in rij 7 met de cijfers 1389
Dat zijn 4 hokjes waar zeker die 4 getallen moeten komen dus de 1 bij 14 kun je wegstrepen op rij 7
XiViX
Regular
Regular
Posts: 14
Joined: Tue Feb 13, 2007 9:24 pm
Location: Netherlands

Post by XiViX »

Naja, hoe ik van dit:

1: 5
2: 1246
3: 14
4: 267
5: 24679
6: 39
7: 139
8: 1389
9: 38

Dit krijg:

1: 5
2: 26
3: 14
4: 267
5: 267
6: 39
7: 139
8: 1389
9: 38

Dit moet namelijk programmeer technisch opgelost worden anders blijf ik hangen bij dit punt en dan kan ik niet verder. Het probleem is al met al dus dat bijvoorbeeld in dit geval een hidden triple dat ik niet zomaar kan controlleren tussen 3 goeie cijfers en 1 of 2 foute cijfers. Ik kan geen vergelijking maken.

Groetjes

Christian
Marlie
Master
Master
Posts: 167
Joined: Sat Dec 31, 2005 1:27 pm
Location: Venray Netherlands

Post by Marlie »

Tja dan ben ik bang dat je Ruud's hulp nodig hebt ik heb daar geen verstand van.
XiViX
Regular
Regular
Posts: 14
Joined: Tue Feb 13, 2007 9:24 pm
Location: Netherlands

Post by XiViX »

Ruud? Kan je me helpen?
Ruud? Can you help me?
Ruud
Site Owner
Site Owner
Posts: 601
Joined: Fri Dec 30, 2005 10:21 pm

Post by Ruud »

Christian,

zoeken naar hidden subsets (pairs, triples, quads) kan op dezelfde manier als naked subsets, als je eerst een transpositie doet.
In de volgende matrix staan de cellen links en de cijfers bovenaan:

Code: Select all

   1 2 3 4 5 6 7 8 9
1&#58;         x 
2&#58; x x   x   x 
3&#58; x     x 
4&#58;   x       x x 
5&#58;   x   x   x x   x 
6&#58;     x           x 
7&#58; x   x           x 
8&#58; x   x         x x 
9&#58;     x         x 
Vervolgens zet je dit om naar de celposities per cijfer:

1: 2378
2: 245 *
3: 6789
4: 235
5: 1
6: 245 *
7: 45 *
8: 89
9: 5678

Hierin kan je een "formerly hidden triple" voor cijfers 267 in celposities 245 vinden.

Zo ziet het resultaat eruit in de matrix:

Code: Select all

   1 2 3 4 5 6 7 8 9
1&#58;         x 
2&#58; - *   -   * 
3&#58; x     x 
4&#58;   *       * * 
5&#58;   *   -   * *   - 
6&#58;     x           x 
7&#58; x   x           x 
8&#58; x   x         x x 
9&#58;     x         x 
Het leuke is dat deze matrix ook gebruikt wordt als je op zoek gaat naar X-Wing, Swordfish en Jellyfish...

Ruud
Marlie
Master
Master
Posts: 167
Joined: Sat Dec 31, 2005 1:27 pm
Location: Venray Netherlands

Post by Marlie »

:( precies :shock: :lol:
XiViX
Regular
Regular
Posts: 14
Joined: Tue Feb 13, 2007 9:24 pm
Location: Netherlands

Post by XiViX »

Ik wil je eerst ontzettend bedanken voor de hulp, natuurlijk ook Marlie. Hadt trouwens al z'n vermoeden dat je uit nederland komt :D lol Ruud typisch nederlandse naam :-)

Afijn,

Zoiets hadt ik al in gedachten na 3 dagen alleen het is misschien een kronkel in me hoofd dat voor problemen geeft :-) ik heb er ook al aan staan te denken om een 3e hash te gebruiken voor het totaal overzicht. Alleen de naked triples bekeek ik heel anders :D het is misschien wel het engels wat zo lastig is (vooral als sommige woorden je niet helemaal duidelijk zijn.)

Ik zal even rustig je matrix (2d) bestuderen heb intussen wat nieuwe vars bijgeleerd.

geeft het trouwens problemen als je col/row/block in 1 keer gebruikt? want zo heb ik het nu zegmaar. als ik namelijk positie r3 heb en c3 p(21) dan start ik met mijn row namelijk op p(19) r3,c1 en mijn col op p(3) r1,c3 en mijn blok op p(1) r1, c1

Geeft dat problemen bij het oplossen?? omdat ik namelijk 1 functie uitvoer voor 3 dingen.

Groetjes,

Christian,

Ik zal eerst even het overzicht van jou eens na te bootsen.
XiViX
Regular
Regular
Posts: 14
Joined: Tue Feb 13, 2007 9:24 pm
Location: Netherlands

Post by XiViX »

http://sulogo.vondsten.nl/nummer.cgi

Dat was dus maar een minuutje of 5... nu nog het 2e gedeelte, het wegschrijven van de hidden tripples
Post Reply