Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Sudoku

Postades av 2005-10-27 15:48:14 - Sven Åke Persson, i forum visual basic - allmänt, Tråden har 12 Kommentarer och lästs av 964 personer

Hello Folks
I brist på ideer och understimulerad sitter jag och fundera på
att låta datorn lösa ett givet problem till mig.

Hur skulle Ni börja tänka för att låta datorn lösa ett givet Sodoku problem ?


Svara

Sv: Sudoku

Postades av 2005-10-27 16:36:58 - Lasse Larsson

Tvådimensionell vektor?

1+2+3+4+5+6+7+8+9 = 45, kan man använda detta faktum?

Sedan är det väl alltid nio "delkuber" index-intervallen 0-2, 3-5, 6-8?









Svara

Sv:Sudoku

Postades av 2005-10-27 17:00:27 - Niklas Jansson

Det blir väl en enkel uttömmande sökning, tror jag?

Fast först efter att man tar alla enkla fall, då.
Alltså typ:
A)
1. Kolla för alla 1:or, 2:or, osv. följande.
2. Finns det ingen av ovanstående i en "storruta"? I så fall:
3. Kolla storrutorna runtom. (samma "storrad" och "storkolumn"), för att konstatera vilka kolumner och rader den inte kan ligga i. Finns det bara en ruta kvar; fyll i den.
B)
1. Kolla för lediga rutor vilka möjliga värden de kan ha. Om det bara är ett, fyll i det.
C)
...

Ifall det finns några fler enkla varianter, gör dem. Gör sen en fixpunktsiteration, dvs kör tills det inte händer något mer. Då har man fyllt i grejen så mycket man kan rent spontant.

Gå sen igenom varje cell, fyll i vilka möjliga värden den kan ha.
Sortera alla lediga celler efter antalet möjliga värden. Traversera sen trädet med de med minst antal val först. Typ.


Svara

Sv: Sudoku

Postades av 2005-10-27 17:16:06 - Martin Adrian

Varför inte göra på samma sätt som man gör manuellt?

- Skapa en 3 dimensionell matris där 3:e dimensionen innehåller de möjliga val som finns för varje ruta.

- Gå sedan igenom matrisen med olika metoder och stryk de val som inte är möjliga i varje ruta.


Svara

Sv: Sudoku

Postades av 2005-10-28 13:17:37 - Jan Bulér

Det här är i och för sig inte i VB men angreppssättet kan vara intresant.

http://www.codeproject.com/useritems/sudoku.asp


Svara

Sv:Sudoku

Postades av 2005-10-28 15:48:09 - Sven Åke Persson

Mycket intressant , skall börja med att porta koden ograverat till VB
Sedan får jag se om det finns smartare lösningar.

Tack och ha det


Svara

Sv: Sudoku

Postades av 2005-10-28 16:34:52 - Roland Ringhede

Förslagsvis väljer du vb.net eller c# så får du lite utmaning.

Innerst inne längar du nog efter lite nytt.


mvh Roland


Svara

Sv:Sudoku

Postades av 2005-10-28 20:51:49 - Sven Åke Persson

<b> Tvådimensionell vektor?

1+2+3+4+5+6+7+8+9 = 45, kan man använda detta faktum? </b>

Du har rätt . Det är/blir en av vektorerena.

Kör nu Er intelligens !


Svara

Sv: Sudoku

Postades av 2005-11-03 18:02:13 - Napoleon Wulkan

Att 1+2+3+4+5+6+7+8+9 = 45 är sant men att 1+2+4+5+5+6+7+7+8 = 45 är också sant.. så att använda det faktum att 1+2+3+4+5+6+7+8+9 = 45 är inget bra.. eller har jag fel??


Svara

Sv:Sudoku

Postades av 2005-11-03 23:49:03 - Lasse Larsson

Man kanske kan låta 1 representeras av 2 upphöjt i 0, 2 av 2 upphöjt i 1, 3 av 2 upphöjt i 2 etc.

Då kan man väl skilja dem åt?

Mvh
Lasse L


Svara

Sv: Sudoku

Postades av 2005-11-04 06:34:20 - Sven Åke Persson

<b>men att 1+2+4+5+5+6+7+7+8 = 45 är också sant.</b>

Tänkte inte på de..


Svara

Sv: Sudoku

Postades av 2005-11-04 16:26:37 - Göran Andersson

Jag skrev en kod i Javascript för ett tag sedan, men jag hittar den inte just nu.

I alla fall så gick den igenom alla tomma rutor och kolla vilka tal som var möjliga i den rutan, genom att utesluta de tal som fanns på samma rader och i samma delruta.

Typ:

var grid = [...alla rutor...];

for (var y=0; y<9; y++) {
for (var x=0; x<9; x++) {
if (grid[y][x] == 0) {
possible = [1,2,3,4,5,6,7,8,9];
possible.remove(getGridHLine(y));
possible.remove(getGridVLine(x));
possbile.remove(getGridSquare(x, y));
if (possible.length == 1) grid[y][x] = possible[0];
}
}
}

Upprepa så länge den fyller i rutor.


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 722
27 958
271 751
386
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies