Keresés

Részletes keresés

Törölt nick Creative Commons License 2019.02.02 0 0 930

ROT tábla 2x2-es szűrés után.

Azt hittem, hogy már ebben a körben kihullanak az eddig is kiszűrt elemek.

Majd posztolom a 3x3-as szűrés utáni állapotot is.

Törölt nick Creative Commons License 2018.12.23 0 0 929

Az előbb ellenőriztem, hogy a Q(2,2)-őn lévő 153.182.029 kombinációból 7.648 "hasonlóságot" mutat valamelyik másikkal.

Ez azt jelenti, hogy ugyanazon puzzle darabokból épül fel és a külső éleik is azonos színűek.

Ez jó... mert ha nem is nagyot, de végre belerúghatok pár mumusba. :-P

Előzmény: Törölt nick (928)
Törölt nick Creative Commons License 2018.12.13 0 0 928

Végül is harmadára ( 42GB -> 14,4GB ) sikerült levinni a 3x3-as cellák tárolási blokkméretét.

Az is kiderült, hogy maximum 104.547.960.937 különböző 3x3-as puzzle darabka közül kell kiválasztani azokat amelyek lefedik a táblát.

Ezt sikerült 123.412.020.768 biten ( 14,4GB ) reprezentálni.

Összesen 7 look-up táblát ( ~ 3,4GB adat ) használtam a konvetáláshoz.

Korábban csak 3-at használtam, 8GB adattal.

Előzmény: Törölt nick (916)
Törölt nick Creative Commons License 2018.12.02 0 0 927

Köszönöm, bár én is egyre ritkábban tévedek ide. :)

 

Amíg nem csökken le a memóriák ára legalább a két évvel ezelőtti szintre, addig nagyon nem is lesz előrelépés.

Jelenleg a 916-osban említett metódust reszelgetem, de ez is csak helyben toporgás. Kell a sok RAM. :)

Előzmény: Axióma (926)
Axióma Creative Commons License 2018.11.28 0 0 926

Te aztan nagyon kitarto vagy! Nekem mar 25 masik kihivas jott, azokkal foglalkozom, de elotted meg le a kalappal!

Előzmény: Törölt nick (925)
Törölt nick Creative Commons License 2018.11.11 0 0 925

Extrém módon lebutítva: 22,73 órajel / lépés, 25 perces mintán.

XEON E5-2697v2 ( Ivy Bridge EP )

Előzmény: Törölt nick (921)
Törölt nick Creative Commons License 2018.08.28 0 0 924

Áttérek az eltérő méretű mezők szűrésére.

A mezők méretét a memória és a számítási kapacitás korlátozza.

Jelenleg egy mező 8-21 puzzle kiterjedésű és 1-32GB méretű.

Összesen 373 mező van a listámon ( ~ 8TB ).

Még keresem, hogy tudok-e további mezőket is bevonni.

Törölt nick Creative Commons License 2018.04.18 0 0 923

Kulcs darabok elhelyezkedése (X,Y,orientáció).

X=0..15, Y=0..15, orientáció=0°,90°,180°,270°

0°-os orientációnál a sarokelemek szürke oldalai a bal illetve alsó széleken látható.

Elforgatás az óramutató járásával egyező irányban.

 

208 -> (2,2,+270°)

255 -> (13,2,+270°)

139 -> (7,8,+180°)

181 -> (2,13,+270°)

249 -> (13,13,+0°)

Előzmény: Törölt nick (883)
Törölt nick Creative Commons License 2018.04.17 0 0 922

Na, nem boldogultam a dologgal, úgyhogy még az újévi fogadalom keretében feladtam a keresést.

 

A napokban viszont eszembe jutott egy módszer ami egészen más módon közelíti a problémát.

Úgyhogy, felfüggesztettem az újévi fogadalmat. :P

Törölt nick Creative Commons License 2017.12.01 0 0 921

Új sebességrekordot értem el a Brute Force keresővel: ~24,96 CPU órajel / lépés.

( XEON E5-1620v3 - Haswell )

Előzmény: Törölt nick (908)
Törölt nick Creative Commons License 2017.11.22 0 0 920

Az eredeti szabályok szerint a darabok színes oldalainak mind a 480 helyen illeszkedni kell.

A srác annyiban módosította a szabályokat, hogy a szürkét is színnek tekintette.

Előzmény: Axióma (919)
Axióma Creative Commons License 2017.11.14 0 0 919

Ez tetszik:) Bar baromi regen volt, megis mintha remlene, hogy a szabaly a szeleken is illeszkedest kert. Aztan tevedhetek. (Ertsd: ha ugy volt, akkor nem kibovitette, hanem szukitette a szabalyokat, aminek a kirakas megfelel.)

Előzmény: Törölt nick (918)
Törölt nick Creative Commons License 2017.11.14 0 0 918

peter.mcgavin@callaghaninnovation.govt.nz:

Kicsit kibővítette a srác a szabályokat, de E2 tábla eredeti darabokkal lefedve, minden illeszkedik.

A kezdő elem maradt a helyén, de a szélső elemeket is "interior" elemként használta.

 

Törölt nick Creative Commons License 2017.10.20 0 0 917

Na, jelenleg itt tartok...:

Előzmény: Törölt nick (912)
Törölt nick Creative Commons License 2017.09.13 0 0 916

Befértem a 3x3-as részletek véletlenszerű azonosításával 0...3,6*10^11 tartományba, ami 42GB-os adatblokkokat jelent. Ez még mindig messze van a szekvenciális azonosítás <12GB-os blokkjaitól, de ezzel már lehet játszogatni. Kicsi trükkel 36GB is elég lehet... alakul. :)

Előzmény: Törölt nick (915)
Törölt nick Creative Commons License 2017.08.06 0 0 915

Próbáltam precíziós eljárást találni a 3x3-as cellák sorrendfüggetlen azonosítására.

Elvileg 37 biten már azonosítható lenne mind a 125 milliárd kirakható kombináció.

Egyelőre 90 bitről 44 bitre ( 764 * 47^4 * 7^4 ) sikerült közvetlenül konvertálni.

Törölt nick Creative Commons License 2016.08.20 0 0 914

Sikerült még 6%-ot faragni a sebességen... :P

Illetve dolgozom egy eljáráson ami extrém memóriaigény nélkül teszi lehetővé az átjárást, akár 3x3-nál nagyobb méretű átfedések esetén is!

Előzmény: Törölt nick (913)
Törölt nick Creative Commons License 2016.06.26 0 0 913

Megvannak az első teszteredmények.

A legfontosabb, hogy működik az elképzelés!

 

Tehát legeneráltam az összes 3x3-as blokkot, amelyek részben (2x3 puzzle-nyi részen) fedik egymást.

Ezeket a brute force algoritmussal "jól körbepakoltam", hogy kiszűrjem azokat a triviális eseteket amelyek biztosan nem részei a megoldásnak.

Majd megvizsgáltam, hogy két szomszédos, egymást átfedő blokk összes lehetséges átfedése milyen eseteket enged/tilt kölcsönösen a két blokkban.

...és volt kieső! Igaz, hogy csak minimális ( 0,02% arányban ) és csak néhány blokknál, de volt!

 

Most szűröm a nagyobb blokkokat abból a 196-ból...

Ezek időigényesebbek, kb. 5 nap / blokk / gép.

Még pár hét, aztán nekieresztem a teljes táblának az új algoritmust. :)

Kíváncsi vagyok, hogy a "halálzónás" blokkokból sikerül-e akár egyetlen kombót is kiütni... :)

Előzmény: Törölt nick (911)
Törölt nick Creative Commons License 2016.05.16 0 0 912

A fenti ábra mutatja, hogy a tábla 3x3-as részeit hányféle módon lehet lefedni a jelenlegi adatok szerint.

Törölt nick Creative Commons License 2016.05.06 0 0 911

Valamit elszámoltam... 128GiB -> 4,7%; 256GiB -> 2,5% lett az átlapolódás.

Kvázi-random modulációval több menetben 0,025^n*100[%] érhető el.

Kár, hogy 2-3 óra / kör / cella. 196 cella van, lehet csökkentem a számukat.

Előzmény: Törölt nick (907)
Törölt nick Creative Commons License 2016.04.29 0 0 910

Na igen, ha csak a BF teljesítményét nézzük, akkor értelmetlen beszélni az időről... :)

De már régóta nem a BF-en van a hangsúly...

Előzmény: pingvin (909)
pingvin Creative Commons License 2016.04.29 0 0 909

Szép eredmény! Akkor már csak kb 10646 év a teljes bejárás..:-)

Törölt nick Creative Commons License 2016.04.28 0 0 908

Kicsit csiszoltam a BF magon: 31-36 órajel / lépés.

Kb. 100 millió lerakás másodpercenként szálanként.

Előzmény: Törölt nick (907)
Törölt nick Creative Commons License 2016.04.20 0 0 907

Megjegyzés jövőbeli magamnak:

Legközelebb akkor próbálkozom, ha lesz legalább 200GB RAM-om.

Oda már be tudok pakolni két 2^40 bites táblát némi trükközéssel (mROT transzfer vagy 256GB+).

Kb. 1000-szeres gyorsulás érhető el a táblák közti átjárásnál, de minimális kombó átlapolással számolni kell (0,1% alatt tartható 5x5C, 4x3MClue0 esetén is).

Előzmény: Törölt nick (906)
Törölt nick Creative Commons License 2016.04.03 0 0 906

Szia! Szinte már senki nem foglalkozik az EternityII-vel, még a legnagyobb fórum (Yahoo/Eternity_two) is régen kihalt. Az általam ír kód assemblyben készült és kb. ötven alkalommal írtam meg újra és újra. :) Ugyanis mikor az aktuális ötletről kiderült, hogy halott ügy, akkor kidobtam az egészet a kukába. Aztán mikor elég új ötlet gyűlt össze, akkor újraírtam, ugyanis kb. 20 sor a hot spot, az meg a fejemben van. Jelenleg már hónapok óta nem programoztam a témával kapcsolatban. Persze állandóan jönnek újabb és újabb ötletek, de azokról mindig kiderül még a tervezési fázisban, hogy nem elég hatékonyak. Egyébként szívesen segítek, de a "netről letölthető program" kategóriában nem tudok. Olyanokat sosem próbáltam.

Előzmény: kricsek (905)
kricsek Creative Commons License 2016.03.28 0 0 905

Sziasztok.

Én magam is foglalkoztam a problémával. Még 2010-ben írtam c-ben egy programot, ami backtrack nélkül brute force-olt viszonylag gyenge 35.000 másodpercenkénti próbálkozással. Középről indulva spirálba helyezte fel az elemeket, amíg tudta. Utána kezdte elölről. Kb 5 perc alatt 100 elemet tud így felrakni.

A kérdésem az lenne, hogy melyik a legjobb netről letölthető program, amit tudnék futtatni? Esetleg van még olyan project, ami számítógépek között elosztva dolgozik? (BOINC)

Fekete Ákos: a te megoldásod mennyire "open source"?

Törölt nick Creative Commons License 2015.12.17 0 0 904

Találtam egy egyszerű módszert, amivel nagyságrendekkel csökkenthető a véletlen hozzáférésű memória (RAM) igény.

Előzmény: Törölt nick (903)
Törölt nick Creative Commons License 2015.07.15 0 0 903

Egy kis szemléltető ábra, hogy a két szomszédos szín (2*5 bit) helyetti két szomszédos puzzle+orientáció (2*10 bit) adatra való átállás milyen hatással volt a "sötét zónára".

Az első esetben kb. 115 MB adattal dolgozik a kereső, a másodikban 17GB.

Szerintem logikus a következő lépés, megpróbálkozok a két szomszédos négyes (2*40 bit) kombinációval.

Az adatokkal persze trükközni kell, de előzetes számítások alapján elegendő lehet 128GB RAM.

Előzmény: Törölt nick (901)
Törölt nick Creative Commons License 2015.07.05 0 0 902

M13-on az új RLW szűrővel is kiesett a 0294H és 03D3H páros.

Csak épp fényévekkel gyorsabban... 

0294H -> 149. puzzle 180°-os elforgatással

03D3H -> 212. puzzle 270°-os elforgatással

Előzmény: Törölt nick (900)
Törölt nick Creative Commons License 2015.06.13 0 0 901

Sikerült további 10%-kal növelni a lerakási sebességet. Ráadásul mindezt úgy értem el, hogy a soron következő pozícióba lerakható puzzle kiválasztása szigorúbb feltételekkel szűrt listából történik. Ez a feleslegesen bejárandó zsákutcák számát csökkenti, ami szintén sebességnövelő tényező. Megspóroltam az index tábla olvasást, cserébe 4GB memóriát esznek az adatok. Alakul... :D

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!