2006-06-11

не съвсем

Най-сетне "решавачката" ми на судоку проработи. Почнах я преди два дена и бързо я написах, но в бързината бях създал няколко много досадни грешки. Тя може и вчера да е работила, но да не съм разбрал, защото имах прекалено много излишен output. Днес го поразчистих, разбира се попромених и някои неща по самата логика, и си работи. Тествах я с няколко задачи от websudoku.com и се справи с всичките. Ето тук има една online "решавачка", но dzver май не е много уверен дали би решила всяко задание. (Едно задание го реши на два пъти - на първия пас само един ред попълни, а на втория всичките, базирайки се и на частичния резултат от първия пас. Не му знам логиката, но явно не е като моята). Проблемът е, че моята е написана на Python и идея си нямам как да я направя по-достъпна - web, gui (в момента началните стойности се записват в самия скрипт). С web програмирането съм много изостанал, а все още не съм се захванал да правя графични интерфейси с Python, въпреки че съм разглеждал някои възможности (предимно PyQt и Tkinter). Не че скрипта ми е много велик (най-обикновена рекурсия с изчерпване), но ако има някой заинтересован, мога да му го пратя, пък ако иска да му прави някакъв интерфейс.

---

portage-2.1 е stable!!! Много радост, много чудо. Само дето тъкмо днес няма да имам време за него - ще се изживявам като хардуерист в помощ на чичо ми. Не че имам нещо против както ми е тръгнало днес да се справя с камерата и монитора му при все че в момента идея си нямам какви магии ще им правя като ми попаднат в ръцете.

---

Най-лошото, обаче, е че сред плановете ми за деня дипломната ми не успя да се вреди. Има някакви слаби надежди да ми се лепне към края на деня, но дано имам сили, че то тоя път до Надежда (2 седмици с камили) може съвсем да ме съсипе.

---

Много се разписах днес, ще вземат да ви заболят стомасите, я бегом марш на разходка!

2 comments:

dzver said...

Заложил съм в моята съвсем ограничен брой логики, които не са достатъчни за да се реши повече от 50% от случаите най-трудното судоку от уебсудоку.ком, а нямам рекурсия в налучкването... за това се налага 1 допълнително натискане, което прави налучкване с голяма степен на вероятност :-)

Така или иначе написах решавачката за едно точно определено судоку, което някакво детенце не можеше да реши, за да му помогна. Тъй като тя реши даденото судоку, повече не беше нужно да го развивам.

warkin said...

ако ти се занимава, мога да ти опиша как работи моя алгоритъм и/или направо да ти го дам, за да да си доразвиеш твоето решение. при мен няма налучкване, а изпробване на всички възможни числа, което си е "дървен" вариант, но от тогава така и не съм се занимавал повече с кода, въпреки че ми се въртяха по едно време няколко идеи за възможни подобрения. тогава когато го писах ми беше по-лесно (и бързо) да напиша този вариант, отколкото да изследвам за зависимости, които биха могли да улеснят решаването. съвсем brute-force атака.
рекурсията не би трябвало да те плаши. би трябвало да може да се напише и без рекурсия, просто не съм отделил необходимите време и усилие.