Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Algoritam kao resenje problema

[es] :: Art of Programming :: Algoritam kao resenje problema

[ Pregleda: 2114 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

___
Pančevo

Član broj: 137559
Poruke: 58
195.252.78.*



Profil

icon Algoritam kao resenje problema10.07.2008. u 08:48 - pre 192 meseci
Ne umem da resim jedan problem, a tice se softvera na kojem trenutno radim.Naime, to je program koji na osnovu elektricnih elemenata(otpornika i generatora) koje korisnik drag-and-dropuje i kreira kolo-resava sve struje u njemu.Sve krece iz xml fajla za koji mi je potreban parser.Parser sam delimicno odradila, ali mi ostaje problem - kako prepoznati vezu.Dakle, imam slozeno kolo, opisano xml fajlom i da bi se dobile jednacine i resile u matlabu mora parser da odredi sta je i kako sa cim vezano.
Ovo je primer tog xml-a:
Code:

<E1> vrednost='20   ' A='R2A,R3A' B='R1A' </E1>
<R1> vrednost='100  ' A='E1B' B='R2B,R3B' </R1>
<R2> vrednost='100  ' A='E1A,R3A' B='R1B,R3B' </R2> 
<R3> vrednost='100  ' A='E1A,R2A' B='R1B,R2B' </R3> 


A i B : svaki element ima dva prikljucka, pa sam zbog lakseg snalazenja uvela A i B kao dve prikljucne tacke svakog elementa.Na primer, ako analiziramo prvi red, tacka A elementa E1 vezana je za tacke A elemenata R2 i R3.Ali, tu nastaje problem.Kako ce parser znati da li je veza redna ili paralelna?
 
Odgovor na temu

sallle
Sasa Ninkovic
GTECH
Beograd

Član broj: 146
Poruke: 480
80.93.229.*

ICQ: 20785904


+4 Profil

icon Re: Algoritam kao resenje problema10.07.2008. u 09:11 - pre 192 meseci
prvo taj xml fajl ne lici na xml fajl, pogledaj malo strukture xml fajlova.

drugo, mislim da ti je los koncept da opisujes koji elemenat je vezan za koji elemenat (tesko odrzavanje prilikom dodavanje, skidanja elemenata).
ja bih uveo virtuelne tacke : t1,t2,t3... kolko god mi ih treba. Tacka bi mi se odnosila na deo u kolu sa istim potencijalom, i za svaki elemenat bih govorio sa kojim tackama je u spoju...

<e1>
<value>5</value>
<type/>
<conn1>t1</conn1>
<conn2>t2</conn2>
</e1>


uslov za paralelnu vezu bi u tom slucaju bio

(e1.conn1 ==e2.conn2 && e1.conn2 == e2.conn1) || (e1.conn1==e2.conn1 && e1.conn2 == e2.conn2)

uslov za rednu vezu bi bio

(e1.conn1 == e2.conn1 && e1.conn2!=e2.conn2) || (e1.conn2==e2.conn1 && e1.conn1!=e2.conn2) ||... (jos dva uslova)

ili preko for petlje
int i=0
foreach (c1 in e1.conns)
foreach (c2 in e2.conns)
if (c1 == c2) i++;

if (i==1 ) redna==true;
if (i==2 ) paralelna = true;

uslov da su ove provere ok, je da unutar jednog elementa e1.conn1!=e1.conn2

 
Odgovor na temu

___
Pančevo

Član broj: 137559
Poruke: 58
195.252.78.*



Profil

icon Re: Algoritam kao resenje problema10.07.2008. u 09:28 - pre 192 meseci
Hm..proanaliziracu i probacu tako.Smem da racunam da pitam ako mi nesto nije jasno?
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.sbb.rs.



+2789 Profil

icon Re: Algoritam kao resenje problema10.07.2008. u 10:45 - pre 192 meseci
Poenta XML-a je u tome da postoje gotovi parseri za njega i da ne treba da ih pravis.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

___
Pančevo

Član broj: 137559
Poruke: 58
195.252.78.*



Profil

icon Re: Algoritam kao resenje problema10.07.2008. u 10:58 - pre 192 meseci
Nisu mi jasne te tacke t1, t2...tn?
 
Odgovor na temu

sallle
Sasa Ninkovic
GTECH
Beograd

Član broj: 146
Poruke: 480
80.93.229.*

ICQ: 20785904


+4 Profil

icon Re: Algoritam kao resenje problema10.07.2008. u 13:01 - pre 192 meseci

kad imas semu, ti obelezis tacke koje ti trebaju sa A,B,C,D,...

E pa ta ideja je i kod mene, da tacke od interesa nazoves nekako (u konkretnom slucaju t1..n) i da kad gledas odnos dve komponente, gledas da li su u istoj tacki... - u sustini imas graf, i imas cvorove, tacke su zapravo cvorovi.

takodje prilikom analize mozes da napravis i odrzavas pomocnu strukturu (matricu)

t1 t2 t3
---------------------
E1| 1 0 1
E2| 0 1 1
E3| 1 1 0

u svakom redu ces da imas onoliko keceva kolko elemenat ima pristupnih objekata.
i onda rednu/paralelnu vezu gledas tako sto ispitujes da li dva elementa u istoj koloni imaju 1.
broj elemenata koji se spajaju u nekoj tacki gledas kao sumu kolone te tacke itd...

Verovatno na osnovu matrice moze da se napravi i algoritam koji bi bio u stanju da izbaci otpornost izmedju dve tacke.
(al to bas nije naivan problem, morala bi se ubudziti: rekurzija, transformacije zvezda-trougao, simetrija, i ostale fore za resavanje...)

mozda je zgodnije numericki traziti, isprobavati napone i struje dok ne dodjes do neke ravnoteze u svakoj tacki (al tu moras smislis heuristiku )...

bla bla... elem, men u opstem slucaju poroblem ne deluje ni malo naivan (kad resis u opstem slucaju, dobijes "spice" :)).

 
Odgovor na temu

[es] :: Art of Programming :: Algoritam kao resenje problema

[ Pregleda: 2114 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.