Algoritmusok

Kódfejtés?

Fórumok

Van egy érdekes adatpár listám:

9612868836883716544
9612868836883618879131333716544

2369777874362949629
2369777874367477459655512949629

8814712111193434998
8814712111195762346993173434998

Újabbak:
5927549512763729420
5927549512768384698997623729420

3244934296593729418
3244934296596253911595353729418

4653999587563326652
4653999587566127534135733326652

1492418919223729438
1492418919227218822996583729438

Páronként a rövidebb számból származik a hosszabb úgy, hogy az első 12 számjegy után beillesztenek még 12 számjegyet (kiemelve), majd a fennmaradó 7 számjegyet hozzáírják. Egyelőre nem tudok rájönni, hogyan állítják elő a beszúrt 12 számjegyet. Láttok benne valami logikát? Szükség esetén még több számpárral tudok szolgálni.
Előre megnyugtatok mindenkit, hogy semmi illegális dologról nincs szó. :D

packed decimal to number

Fórumok

Sziasztok!

IBM iseries rendszerből text-be exportált adatokat kellene oracle-be beolvasnom. A gond az, hogy eredetileg a numerikus értékek packed decimal (4 digit) vannak tárolva ezért az exportált text-be is az ennek megfelelő értékek kerülnek be. Hogyan lehetne ezeket az értékeket decimális formátumra konvertálni? Valaki? Valami tapasztalat? guglival eddig nem sokra jutottam a gyakorlati megoldásokat illetően

Termékcsoport összeállítása tulajdonságok alapján

Fórumok

Sziasztok!

A következő lenne a feladat:
Vannak termékek: T1 T2 T2 ..., minden terméknek van egy ára.
Minden terméknek van valamilyen tulajdonsága: A B C D ...
Mondjuk T1(AAB) T2(ABCC) T3(AABB)

Van egy tulajdonság zsákom (AABBCC). Ki kell választanom az optimális termékcsomagot, amivel a tulajdonságaim megvalósíthatók. Optimálisnak a legolcsóbbat tekintjük. Eddig még nem jutott eszembe viszonylag hatékony algoritmus :(

Van ötlete valakinek?

bonyolult egyenletrendszer egyszerűsítése, computer algebra system

Fórumok

Sziasztok,

hobbiprojektem magját ma fejeztem be, egy bonyolult egyenletrendszer. a projektet egyelőre yacas-ban írom, és amint elkészültem papíron az egyenletekkel, ráengedtem a Solve() függvényt, ami már órák óra megy, és kezdek kétségbe esni, mert annyira nem lehet bonyolult.

a fenti művelettől azt vártam, hogy gyorsan dob egy eredményt. nem tette, úgyhogy felmerültek bennem a következő kérdések:

egyik kérdésem az, hogy szerintetek az alábbi egyenleteket hogyan lehetne átírni valahogyan egy Java metódusba? mondjuk, a metódus megkapná az A*, B*, cu*, ra* változók értékeit, és visszatérne a C*, D* változók értékeivel. azt tudom, hogy egyenletrendszermegoldó képessége nincs annak a nyelvnek, de talán át lehetne írni valahogyan..

szerintetek hogyan lehetne a fentieket egyszerűbb alakra hozni?

egy másik kérdésem, hogy ti melyik cas rendszereket használtátok, mik a tapasztalataitok. melyik a legnépszerűbb? érdemes cas rendszerre költeni (maxima, maple), vagy az opensource alternatívák vannak legalább olyan jók? én a yacas-sal és a maxima-val ismerkedtem. a yacas volt szimpatikus, de az oo lehetősége nekem mindkettőből nagyon hiányzik.

legvégül a kérdéses borzadmány:


get2Ddistance(x1,y1,x2,y2):=Sqrt((x1-x2)^2+(y1-y2)^2);

(Cx-Ax)^2+(Cy-Ay)^2+(Cz-Az)^2=(currentWidth*ratioWtoAC)^2 , és
(Cx-Bx)^2+(Cy-By)^2+(Cz-Bz)^2=(currentWidth*ratioWtoBC)^2 , továbbá,
(Dx-Cx)^2+(Dy-Cy)^2+(Dz-Cz)^2=(currentWidth*ratioWtoCD)^2 , ahol, 
(Dx-Bx)^2+(Dy-By)^2+(Dz-Bz)^2=(currentWidth*ratioWtoBD)^2 , ráadásul
get2Ddistance(Cx,Cy,0,0)/get2Ddistance(Dx,Dy,0,0)=get2Ddistance(Ax,Ay,0,0)/get2Ddistance(Bx,By,0,0) , de
Cz<0 , és
Dz>0

válaszaitokat előre is köszönöm,
zp

OpenMP, Fortran és FFTW

Fórumok

Sziasztok!

Core2Duo proc lapul a gépemben és párhuzamosítani szeretnék két fft-t Fortranban (később bonyolultabb számolásról lesz szó, de ez most a modell-feladat hozzá), gfortrannal fordítok -fopenmp paraméterrel. Eddig még sose foglalkoztam párhuzamos programozással, de most alapszinten jól jönne.
A releváns kódrészlet a következő:

!$OMP SECTIONS
!$OMP SECTION
call dfftw_plan_dft_1d(plan,N,in1,out1,FFTW_FORWARD,FFTW_ESTIMATE)
call dfftw_execute(plan)
call dfftw_destroy_plan(plan)
!$OMP SECTION
call dfftw_plan_dft_1d(plan,N,in2,out2,FFTW_FORWARD,FFTW_ESTIMATE)
call dfftw_execute(plan)
call dfftw_destroy_plan(plan)
!$OMP END SECTIONS

Amint látható, a probléma "embarassingly parallel", külön változókkal dolgoznak, tehát elvileg nyernem kéne a párhuzamosítással.
Gnome-system-monitoron lesem a két mag kihasználtságát közben, de vhogy nem akar különbözni attól az esettől, mikor simán végrehajtatok egy fft-t (ami jelenleg kb 3 sec-ig fut).

bilinearis egyenletrendszer

Fórumok

Haliho,

a kovetkezo" egyenletrendszert kene megoldani (x es y ismeretlenek, tobbi adott valos sza'm):


 4A = A_00 + A_10*x + A_01*y + A_11*x*y
 4B = B_00 + B_10*x + B_01*y + B_11*x*y

tobbszor mar felmerult a problema, de valahogy mindig sikerult kikerulni, most mar nem nagyon akarom :]
Szoval erre kene vmi jo megoldas. A gond az, hogy lehet hogy a megoldas nem is egyedi, merthogy ez egy kvadratikus egyenletrendszer. Tovabbi egyszerusites lehet talan, hogy csak a [-1,1]x[-1,1] intervallumokban levo megoldas erdekel, ha van megoldas, de ezen kivul esik, akkor az nem erdekel.

Gyk az alapproblema marha egyszeru", adott egy f:R^2->R^2 fv, de csak egy szabalyos racson, a racspontok koze (bi)linearisan lehet interpolalni, es ezt az f fv-t kene invertalni.

Otlet?

Koszi, A.

nemreguláris hash

Fórumok

Hali!

Tudnátok segíteni olyan hash-szerű függvény keresésében, ami az általános elvárással ellentétben hasonló inputra, épphogy hasonló eredményt ad?
Igazából egy normára volna szükség, ami a fenti kritériumot teljesíti.

Az első próbálkozásom a Levenshtein-távolság, mint metrika, felhasználásával volna.
Ez a függvény megmondja, hogy hány karakter beszúrásával/törlésével/átírásával lehet egyik sztringből a másikba átmenni. Rögzíthetnák egy stringet, és akkor lehetne a norma minden inputra az ettől való ilyen távolság.

Ezzel sok bajom van:

- Ez lineáris, nekem inkább exponenciális kellene, azaz hogy ami nagyon különbözik, annak a normája is különbözzön nagyon. (vehetném a négyzetét)

- Ha nem jól választom az etalon sztringet, akkor torzszülött lesz: ha a csupa NULL-t választom etalonnak, akkor minden bemenet normája a sztring hossza lesz, ami nem éppen az, amire szükségem volna. Lehet egyáltalán jól választani? Pont ezért volna inkább közvetlenül egy normára szükségem, ami nem egy halmazbeli
elemhez mért távolságtól függene, hanem közvetlenül rendelne egy számot a bemenethez.

- Az eredmény nem egy intervallumba esik, ahol "egyenletesen" oszlik el. Közel azonos hosszú szavak esetén ez jól működik, de különben nem túl szépen oszlanának el a kapott eredmények. Ezért is írok hash-szerű fv.-t, mert azok mindig szép n-bites eredményt adnak.

Elsősorban nem fix, de nagyjából szó hosszú szavakra szeretném alkalmazni.
A legjobb példa, a google suggestion: ha félregépelünk egy kulcsszót a google keresőben, akkor a találatok előtt gyakran ajánlja fel a helyeset.
Biztos vagyok benne, hogy nem az alapján ajánl, hogy az indexelt és rendezett teljes kulcsszó-adatbázissal összehasonlítja, és azt ajánlja, amivel mondjuk az említett Levenshtein-távolság kicsi. Hanem van egy leképezés, ami az ilyen nemreguláris hash szerint indexeli a kulcsszavakat, és ugyanezzel e leképezéssel transzformált keresés-kifejezés közeléből ajánl olyat, amire sokkal több találat is volna.
Pont hasonlót szeretnék én is, hogy szövegeket/szavakat úgy partícionálni mondjuk hostok között e norma szerint, hogy ez a hash indexként funkcionáljon még elgépelés esetén is. A kulcsütközések/false positives nem probléma, hiszen ezeket már utólag, mivel kevesen vannak, kevés lépésben, az adott hoston, más mértékek alkalmazásával tovább tudom szűkíteni.

Amit eddig ajánlottak:

- Egy determinisztikus függvénnyel az inputból kis szeleteket kiválasztani, és ezekre hagyományos hashelést alkalmazni, majd az eredményeket konkatenálni. Ekkor kis változás csak kevés hashet érintene, így a végeredmény is hasonló volna.

- Az input karaktereinek eltérését valahogyan súlyozva összegezni. (Az eredmény így egy szám.) Ez szimpatikus, csak ismét az eloszláson volna jócskán mit finomítani.

Előre is köszi az ötleteket, üdv

Visszafejtes

Fórumok

Egy regi DOS-os programot kellene ujra beuzemelnem, sajnos a telepitoje mar reg elveszett es csak egy csomagom van rola. Annyira ra tudtam venni, hogy elinduljon vegre de mivel a config filejait ki kellett torolnom igy keri ujra tolem a telepitesi jelszot... megtalaltam a filet amiben volt mentve a regi kod, de van rajta valami kriptalas. Gyanitom, hogy valami ascii kod tologatasrol lehet szo. A kerdesem az lenne, hogy valaki nem e ismer egy olyan progit ami ezt nekem viszafejtene?
A kodolt jelszo valahogy igy nez ki:


1
2
3
4
5
-6
7
8
9
10
11
-12
13
14
-15
16
17
18