PCPROG.6

25 Sep 1995 - 24 Dec 1999

Topics

  1. algoritmi (449)
  2. baze.podataka (309)
  3. ms.dos (17)
  4. windows (294)
  5. asembler (553)
  6. basic (458)
  7. jezici (42)
  8. pascal (1297)
  9. cccc (522)
  10. cpp (299)
  11. clipper (601)
  12. fox (70)
  13. cavo (14)
  14. delphi (1130)
  15. java (100)
  16. razno (776)
  17. unknown (127)

Messages - algoritmi

algoritmi.1 szdravko,
Drug bi pozajmio knjigu od Goldberg-a o genetickim algoritmima. Vraca za 1 dan. Mail me ili 489-3283 ili 456-530. Unapred havvala :).
algoritmi.2 eburanj,
Ima li zainteresovanih za temu: prepoznavanje uzoraka i sl. ?
algoritmi.3 pedjak,
> Ima li zainteresovanih za temu: prepoznavanje uzoraka i sl. Naravno. Samo ti piši.
algoritmi.4 max.headroom,
> Ima li zainteresovanih za temu: prepoznavanje uzoraka i sl. Ima. Pitaj korisnika kriss da te ubaci u grupu "Neuronske Mreže", koja bi morala da se bavi i tim problemom.
algoritmi.5 szdravko,
Hi! Zanimaju me matematicke biblioteke, pogotovo u C-a (ako su dobre, a u FORTRAN-u su, prevescu ih sam). Dosada sam koristio IMSL i delimicno LINPACK. Pogotovo me zanimaju sledeci problemi: 1) matricne operacije u realnim i kompleksnim brojevima, ali stabilne (ne kao Gaus-Jordan i sl.) 2) resavanje nelinearnih jednacina (sistema), ali u kompleksnom domenu!
algoritmi.6 pyramid,
>> Hi! Zanimaju me matematicke biblioteke, pogotovo u C-a (ako su dobre, a >> u FORTRAN-u su, prevescu ih sam). Dosada sam koristio IMSL i delimicno >> LINPACK. Pogotovo me zanimaju sledeci problemi: cephes-1.zip 155637 cephes-2.zip 155106 imas ih na FFS (2372-392,2372-393), dobre su, cini mi se da ima i source....
algoritmi.7 bulaja,
│cephes-1.zip 155637 │cephes-2.zip 155106 │imas ih na FFS (2372-392,2372-393), dobre su, cini mi se da ima i source.... └─── I na Sezamu: MSDOS - R:\C ---------------------- cephes-1 zip 154991 Cephes v2.2, razne matematičke C funkcije (source) #1 cephes-2 zip 154460 Cephes v2.2, razne matematičke C funkcije (source) #2
algoritmi.8 zeljkoj,
Može li neko da opiše neki inteligentniji algoritam za pretraživanje tekstualnog fajla od prostog sekvencijalnog čitanja? Treba recimo da pronadjem sva mesta u tekstu koja sadrže 'bio' - biće ispisane rečenice u kojima se pominje biologija, biografija, biohemija, itd. E sad, ako je tekst dužine do megabajt-dva sekvencijalno čitanje još može da prodje, al' ako je duži, postaje suviše sporo. :)
algoritmi.9 dvesic,
>> Može li neko da opiše neki inteligentniji algoritam za >> pretraživanje tekstualnog fajla od prostog sekvencijalnog >> čitanja? Treba recimo da pronadjem >> do megabajt-dva sekvencijalno čitanje još može da prodje, al' >> ako je duži, Pa imaš onaj inteligentan algoritam kojim se poredi svaki n-ti bajt (ako je reč dugačka n bajtova) itd ... ako to želiš, daću ti detaljan opis ... Međutim, za ovako velike fajlove ne gine ti neko indeksiranje ...
algoritmi.10 tehnikum,
Trebaju mi podatci o FFT-u (Fast Fourier Transform) tj. sorsovi u Pascalu,Mashincu,Bejziku,a moze da prodje i C,a ako nemate nista od ovog moze i DOC. MMM Ako postoji neko na Sezamu ko ima bilo sta ovakvo nek mi posalje na mail ,bicu mu veoma zahvalan. (=)HTanx, Byte Pointer.
algoritmi.11 zeljkoj,
> Pa imaš onaj inteligentan algoritam kojim se poredi svaki n-ti > bajt (ako je reč dugačka n bajtova) itd ... ako to želiš, daću > ti detaljan opis ... 'Ajde, ako ti nije teško, baci opis ovde.
algoritmi.12 atech,
> Pa imas onaj inteligentan algoritam kojim se poredi svaki n-ti > bajt (ako je rec dugacka n bajtova) itd ... ako to zelis, dacu > ti detaljan opis ... Bajer-Murov? :) Jos davne 1986 (ako se ne varam) u racunarima je bila serija tekstova koja je uporno pokusavala da razjasni ovaj algoritam ali sto zbog stamparskih gresaka u listinzima a sto zbog 'nepredvidjenih' okolnosti posao se oduzio. ;) Iskreno vise se i ne secam da li neko uspeo u to vreme da uspesno zaokruzi temu...:)
algoritmi.13 saxon,
> Trebaju mi podatci o FFT-u (Fast Fourier Transform) > tj. sorsovi u Pascalu,Mashincu,Bejziku,a moze da > prodje i C,a ako nemate nista od ovog moze i DOC. Na zalost, nemam nista na disku ali imam u knjizi. Skoro sve sto ti treba mozes da pronadjes u "Numerical Recipes in C" (Press, Flannery, Teukolsky, Vetterling). Ima dosta teorije a bogami i programa koji nesto rade (licno se time ne bavim pa nisam detaljnije iscitavao)
algoritmi.14 .sima,
║║ MMM Ako postoji neko na Sezamu ko ima bilo sta ovakvo ║║ nek mi posalje na mail ,bicu mu veoma zahvalan. A što na mail? Šalji ga ovamo.
algoritmi.15 zormi,
* Trebaju mi podatci o FFT-u (Fast Fourier Transform) * tj. sorsovi u Pascalu,Mashincu,Bejziku... Evo za prvu pomoć mog programa iz studentskih dana, od pre 5-6 godina :( kada smo učili. Valjda je ispravan. fft.c
algoritmi.16 mdrazic,
> MMM Ako postoji neko na Sezamu ko ima bilo sta ovakvo > nek mi posalje na mail ,bicu mu veoma zahvalan. FFTPACK na FORTRANU ? Milan
algoritmi.17 visnja,
> Bajer-Murov? :) Jos davne 1986 (ako se ne varam) u racunarima > je bila serija tekstova koja je uporno pokusavala da razjasni > ovaj algoritam ali sto zbog stamparskih gresaka u listinzima a > sto zbog 'nepredvidjenih' okolnosti posao se oduzio. ;) > Iskreno vise se i ne secam da li neko uspeo u to vreme da > uspesno zaokruzi temu...:) Hajde ovako: posto imam sve brojeve racunara, fotokopiracu sve o temi, posto je na udaru mog interesovanja. Samo ovo ce da poootraje, jer sam u finansijskoj frci pa moram svasta da radim da bih preziveo. Kada od fotokopija napravim lepu skriptu javicu, pa kome treba... samo mi dajte vremena. Pozdrav, Visnja.
algoritmi.19 ratman,
Interesuju me algoritmi za fitovanje (regresiju) proizvoljno zadate funkcije, tj. da algoritam nije zavisan od same funkcije (da li je polinomska, polieksponencijalna, itd.) Bilo bi mi od pomoci sve u vezi sa tim- algoritmi, source programi (najbolje BASIC, QBASIC, Pascal, ili neki pseudokod, ali razumecu i drugo); onda, refc. na poruke u conf., ako se o tome ranije pisalo; tekstovi/clanci, odn. refc. (mislim da se u Byte-u pisalo o tome, u nekim sasvim prvim brojevima..?). Sto jednostavniji algoritmi to bolje, po mogucstvu bez mnogo 'teske' matematike. Pozdrav, Dejan.
algoritmi.20 szdravko,
Za ratman-a. Preporucujem ti dve stvari: a) Za par dana imacu knjigu Numerical Recipes in C, tu ima nesto; b) FFITPACK u FORTRANU-u, valjda ga imam; c) Najbolje: program Jandel TableCurve. Radi pod Windows-ima, fituje oko 4-5000 predefinisanih krivih + user defined funkcije. Imam instalaciju! Ovu konferenciju ne citam tako cesto, pa mi se javi na MAIL, ako zuris. Ako ne, javi se ovde, pogotovo ako imas jos nesto sto bi zanimalo i druge. Pz, :).
algoritmi.21 szdravko,
PS> U stvari su tri stvari!
algoritmi.22 severian,
Zamolio bih za listinge generatora pseudoslučajnih brojeva iz nekog (recimo zadatog) intervala koji su sposobni da daju i granice tog intervala. Naročito bih bio zadovoljan sa Fibonačijevim i Meklaren-Maršalovim generatorom. Naravno, može i bilo koji drugi u domaćoj radinosti. Source bih najviše voleo na Pascalu (jer mi i treba za prg koji pišem na istom) ali može i Fortran i C i sve ostalo... U nedostatku source-a pomogao bi i algoritam (imam neki falični algoritam za Fibonačijev ali nikako da ga nateram da da i gornju granicu intervala:(( ) Unapred hvala!
algoritmi.23 szdravko,
Ja imam knjigu "Numeric recipes in C" (za FORTRAN postoji ista knjiga, ali je ja nemam). U njoj postoje i rutine za slucajne brojeve, sa teorijskim objasnjenjima. Mozes da kopiras od mene, pa da prekucas (řÚnisu to neki veliki listinzi). Pz, :). ■˛
algoritmi.24 atech,
> Zamolio bih za listinge generatora pseudoslucajnih brojeva iz > nekog (recimo zadatog) intervala koji su sposobni da daju i > granice tog intervala. Narocito bih bio zadovoljan sa > Fibonacijevim i Meklaren-Marsalovim generatorom. Naravno, moze > i bilo koji drugi u domacoj radinosti. Source bih najvise voleo > na Pascalu (jer mi i treba za prg koji pisem na istom) ali moze > i Fortran i C i sve ostalo... U nedostatku source-a pomogao bi > i algoritam (imam neki falicni algoritam za Fibonacijev ali > nikako da ga nateram da da i gornju granicu intervala:(( ) > Unapred hvala! Imas u Snippets-ima (0494) varijaciju prvog algoritma koja po autoru ima veliki period i zadovoljava sve kriterijume jednog PRNG-a. Program je napisan u c-u. Inace, vecina algoritama na koje sam nailazio po razlicitim bibliotekama koristi algoritam linearne kongruencije. I sam sam se bavio ovim problemima jer radim softver za zastitu. Uzgred, na kakvom programu radis? poz, Blagoje.
algoritmi.25 szeman,
RE: Šah i algoritmi: ==================== Davno je neko ovde tražio podatke o principima šahovskog programiranja i od mene dobio pointer na časopis Moj Mikro. Elem, evo nešto malo konkretnije: broj iz marta '89 - četvrti nastavak serije tekstova Djordja Vidanovića uz kompletan sors u Basic-u (akademska verzija nekog tipa sa nemačkog univerziteta). Nadam se da će biti od koristi... Pozdrav, Saša
algoritmi.26 severian,
> Imas u Snippets-ima (0494) varijaciju prvog algoritma koja po > autoru ima veliki period i zadovoljava sve kriterijume jednog > PRNG-a. Program je napisan u c-u. Inace, vecina algoritama na koje sam > nailazio po razlicitim bibliotekama kori > sti algoritam linearne > kongruencije. I sam sam se bavio ovim problemima jer radim softver Uz sav rizik da ispadnem neupućen, ali šta su Snippets-i (i još važnije kako da dođem do njih;)? Usput, što se tiče linearne kongruencije, problem sa njom je što u formuli *uvek* figuriše neki moduo, pa logično ne mogu da dobijem gornju granicu intervala (ili ako posmatramo generator normalizovanih vrednosti nikako ne može da vrati tačno 1). E sad, iz prirode problema za koji mi treba generator (upoređivanje različitih modela za izr avg seek time-a u f-ji broja pređenih cyl) generator mora da vraća i gornju granicu intervala. Znam da neke varijante Fibonačija i Meklaren-Maršal ovo mogu, ali sam listinge negde zagubio:(( Hebiga, Marfi na kub...
algoritmi.27 djelovic,
> Uz sav rizik da ispadnem neupućen, ali šta su Snippets-i r:\c\snip9404.zip
algoritmi.28 atech,
> Uz sav rizik da ispadnem neupucen, ali sta su Snippets-i (i jos > vaznije kako da dodem do njih;)? Arhiva r:\c\snip9404.zip je prepuna korisnih programa datih u izvornom kodu (vecinom c mada ima i nesto asm programa). U ovoj arhivi nalaze se i dva algoritma za generisanje slucajnih brojeva. poz, Blagoje.
algoritmi.29 severian,
> Arhiva r:\c\snip9404.zip je prepuna korisnih programa datih > u izvornom kodu (vecinom c mada ima i nesto asm programa). U ovoj > arhivi nalaze se i dva algoritma za generisanje slucajnih brojeva. Hvala na pointeru (i djelovicu). Skinuo sam i pogledao. Ima tri generatora. Jedan kongruentni, jedan Fibonačijev (neka verzija) i jedan koji prvi put vidim;). Zadnja dva mogu da budu ono što mi treba, pa idem da proučim.. Hvala još jednom.
algoritmi.30 mdimitrijevic,
Interesuje me kako da izracunam normalu (vektor) na ravan (koja je definisana sa tri tacke) u svakoj od tacaka kojima je definisana ta ravan. Na primer imam trougao definisan sa tri tacke A,B,C i imam njihove koordinate u prostoru A(x,y,z),B(x,y,z),C(x,y,z) one definisu jednu ravan. Pitanje je kako izracunati normalu (vektor definisan sa x,y,z) na tu ravan u svakoj od tacaka A,B i C ? C + │ │ │ │ └──────────── + A B Pitanje je vezano za analiticku geometriju (valjda :). Moje znanje ove oblasti je samo u granicama u kojima je obradjivano u srednjoj ekonomskoj skoli. Pozdrav, Marjan
algoritmi.31 maksa,
>> u prostoru A(x,y,z),B(x,y,z),C(x,y,z) one definisu jednu >> ravan. Pitanje je kako izracunati normalu (vektor definisan sa >> x,y,z) na tu ravan u svakoj od tacaka A,B i C ? Šta tačno misliš pod "u svakoj od tačaka"? Za date tačke: A (x1, y1, z1) B (x2 y2, z2) C (x3 y3, z3) Normala, odn. vektor N normalan na ravan tako dobijenog trougla se dobija kao vektorski proizvod vektora (na pr.) AB i AC. Što će reći: -> AB = (x2-x1, y2-y1, z2-z1) -> AC = (x3-x1, y3-y1, z3-z1) -> N (Nx, Ny, Nz) ; vektor normale na ravan ABC │ i j k │ -> -> -> │ │ N = AB x AC = │ (x2-x1) (y2-y1) (z2-z1) │ │ │ │ (x3-x1) (y3-y1) (z3-z1) │ oliti: Nx = (y2-y1) * (z3-z1) - (z2-z1) * (y3-y1) Ny = - ((x2-x1) * (z3-z1) - (z2-z1) * (x3-x1)) Nz = (x2-x1) * (y3-y1) - (x3-x1)*(y2-y1) (Ako ti ikad zatreba površina tog trougla, dobićeš je kao polovinu intenziteta ovog (N) vektora).
algoritmi.32 saxon,
> Interesuje me kako da izracunam normalu (vektor) na ravan (koja je > definisana sa tri tacke) u svakoj od tacaka kojima je definisana ta ravan. A(ax,ay,az), B(bx,by,bz), C(cx, cy, cz): Zatim definiši vektore p(px, py, pz) i q(qx, qy, qz) gde je: px = bx - ax, py = by - ay, pz = bz - az, qx = cx - ax, qy = cy - ay, qz = cz - az. Vektor normale N(Nx, Ny, Nz) definisan je kao N = p x q: Nx = py * qz - pz * qy, Ny = pz * qx - px * qz, Nz = px * qy - py * qx. Ako ti treba vektor jediničnog intenziteta n(nx, nz, nz), moraš da normalizuješ vektor N: /──────────────────────────── N = \/ Nx * Nx + Ny * Ny + Nz * Nz, nx = Nx / N, ny = Ny / N, nz = Nz / N. Tačke A, B i C moraju biti nekolinearne (inače će vektori p i q biti paralelni a vektor N biti jednak nuli. Pogodio si, reč je o (elementarnoj) analitičkoj geometriji.
algoritmi.34 mdimitrijevic,
Hvala na odgovorima ali da li je moguce da izracunam normalu na poligon u tacki A recimo. Znaci da normala na poligon "krece" iz tacke A na "gore". Ne treba mi opsta normala za ceo trougao vec normala na trougao koja polazi iz jedne od tacaka koje ga definisu u prostoru. Jer na osnovu onoga iznetog dobijam normalu na ceo trougao (ravan). Pozdrav, Marjan P.S. Nadam se da sam tacno postavio pitanje.
algoritmi.35 kriss,
˙˙ Interesuje me kako da izracunam normalu (vektor) na ravan ˙˙ (koja je definisana sa tri tacke) u svakoj od tacaka kojima je ˙˙ definisana ta ravan. Jedan vektor ti je AB. Koordinate dobijaš kao Xb-Xa, Yb-Ya, Zb-Za, i obeležiš ih sa X1, Y1, Z1. Ovo znači da ti je vektor AB usmeren od A ka B. Zatim definišeš i vektor AC, isti postupak sa koordinatama (Xc-Xa=X2...), isto znači da je AC usmeren od A ka C. Obrati pažnju na oduzimanje koordinata, uvek se od tačke B ili C oduzima koordinata tačke A. Pošto si dobio dva lepa vektora, kažeš da oni leže u ravni za koju računaš normalu. Zatim postavi sledeću determinantu: │ -> -> ->│ │ i j k │ │ │ │ X1 Y1 Z1│ = (Xr,Yr,Zr) │ │ │ X2 Y2 Z2│ -> -> -> i grupiši sve uz i, j i k, i time si dobio koordinate traženog vektora.
algoritmi.36 maksa,
>> tacki A recimo. Znaci da normala na poligon "krece" iz tacke A >> na "gore". Ne treba mi opsta normala za ceo trougao vec >> normala na trougao koja polazi iz jedne od tacaka koje ga >> definisu u prostoru. Jer na osnovu onoga iznetog dobijam >> normalu na ceo trougao (ravan). >> >> P.S. Nadam se da sam tacno postavio pitanje. Malo nejasno. Da se ne tušimo sa suvom terminologijom - normala na taj trougao u svakoj tački ima isti pravac. Ako ti treba jednačina prave koja prolazi kroz tačku A, a normalna je na trougao, nju dobijaš kao: X-Xa Y-Ya Z-Za ---- = ---- = ---- Nx Ny Nz gde su X, Y i Z slobodni članovi, odn. promenjive, a Nx, Ny i Nz komponente onako dobijenog vektora normale na trougao, a Xa, Ya i Za koordinate tačke A. Da kažeš ti nama lepo šta bi tačno da izvedeš, pa da vidimo? :)
algoritmi.37 mdimitrijevic,
Mislim da cu uspeti sada da resim problem. Hvala svima na odgovorima. Pozdrav, Marjan P.S. Nazalost u Srednjoj Ekonomskoj Skoli se ne uci analiticka geometrija skoro uopste. Matrice sam naucio da radim kod kuce jer ih srednjoj nismo ni pomenuli :(((((((.
algoritmi.38 spantic,
> P.S. Nazalost u Srednjoj Ekonomskoj Skoli se ne uci analiticka geometrija > skoro uopste. Matrice sam naucio da radim kod kuce jer ih srednjoj nismo ni Matrice vas ne uče u ekonomskoj školi? Lepo bogami.
algoritmi.39 mdimitrijevic,
Verovao ili ne sve najveci deo onoga sto znam iz matematike sam naucio sam jer se nista nije ucilo u srednjoj ekonomskoj :(((. Kao i u svim skolama veliki deo onoga sto se uci nije primeren nicemu. Pozdrav, Marjan
algoritmi.40 deimos,
Pokusavam poslednjih par dana da razvijem neki algoritam koji ce da radi popunjavanje odredjene povrsi odredjenim argumentom. Funkcija bi trebalo da radi ono sto radi i FLOODFILL iz brorlandovog c-a. Da se razumemo: povrsina je zatvorena kriva neodredjenog oblika i nije predstavljena nikakvom funkciom. Trebalo bi kada se zada na ekranu koordinata tacke unutar takve krive da se povrsina popuni do odredjene granice. help! Vlada.
algoritmi.41 vovi,
Cini mi se da je u ovoj temi bila rasprava o generatorima slucajnih brojeva.Kako me ta tema zanima, molim da mi date neke smernice vezane za ovu problematiku (ako je o ovome vec raspavljano, recite mi gde i kada da bih mogao da se o tome raspitam. takodje su dobrodosle i sve smernice na literaturu koja se ovom problematikom bavi.) Unapred zahvalan! Vladimir
algoritmi.42 nemko,
Kucam ON-LINE, so: pitanje je vilo algoritam, za floodfil ili slicnu funkciju. Jedna od mogucih metoda je sledeca: 1. definises uslov da li odredjena tecak predstavlja ivicu oblasti. H2. Krenes od date tacke i crtas levo i desno liniju sve dok "treba" 3. krenes da ispitujes tacke iznad (kasnije ispod) linije i ako bar neku treba iscrtati iscrtavas je (tj. iscartavas liniju iznad i ispod prethodne) 4. Za nove linije postavljas korak 3 sve dok sve tacke iznad i ispod linija ne predstavljaju granice oblasti Ovo je rekurzivni algoritam. Moze se realizovati i simuliranjem steka pri cemu se beleze pozicije tacaka koje su preskcene u "obradi" u neki niz. Uz dobru optimizaciju (ili pisanje u asm-u) ovo moze biti veoma brzo, tacnije receno "munjevito". ;)
algoritmi.43 jablan,
Evo jedan zadačić za razmišljanje... Napisati funkciju koja proverava ispravnost unetog rimskog broja. Znači, za nešto poput 'IXI' ili 'IXIX' treba da vrati false, a za 'XVI' treba da vrati true.
algoritmi.44 eburanj,
Da li neko moze da mi objasni princip programiranja logickih űigara (famozni iksoks iz RACUNAR-a). Na primer kako ˇŚkako da posle izracunatih svih mogucih kombinacija za X poteza unap÷║red odredim koja je najbolja za mene?
algoritmi.45 eburanj,
Mozda nekoga interesuje morfing pa evo jedne ¸│formule: s(x)=a(x)+frame/fram * (b(x)-a(x)) gde je frame = 1 DO frames isto vazi naravno za drugu (ostale) koordinate.
algoritmi.46 eburanj,
Ima li neko objasnjenje bezijerovih krivih?
algoritmi.47 nlazic,
Teoriju će verovatno neko bolje objasniti od mene (beše u nekim matorim Računarima, između ostalog). Ja šaljem parče programa koje iscrtava Bezierovu krivu. Nije najbolje, nije ni najbrže, ali je najjednostavnije :) Ako treba nešto više (BSpline i sl.) reci. {TP 6} uses graph; function pow(x : real; y : word) : real; var nt : word; result : real; begin result := 1; for nt := 1 to y do result := result * x; pow := result; end; procedure DrawBezierCurve(px1,py1,px2,py2,px3,py3,px4,py4,count : integer); { px1,py1,...,px4,py4 - koordinate kontrolnih tačaka; count - broj medjukoraka } procedure Bezier(t : real; var x, y : integer); begin x := round(pow(1-t,3)*px1+3*t*pow(1-t,2)*px2+ 3*t*t*(1-t)*px3+pow(t,3)*px4); y := round(pow(1-t,3)*py1+3*t*pow(1-t,2)*py2+ 3*t*t*(1-t)*py3+pow(t,3)*py4); end; var resolution,t : real; xc, yc, i : integer; begin if count = 0 then exit; resolution:=1/count; { Iscrtaj kontrolne tačke } putpixel (px1,py1,15); putpixel (px2,py2,15); putpixel (px3,py3,15); putpixel (px4,py4,15); { Iscrtaj Beziera } Moveto(px1,py1); t := 0; while t < 1 do begin Bezier(t, xc, yc); lineto(xc, yc); t := t + resolution; end; LineTo(px4,py4); end; var a,b:integer; c:char; begin a:=Detect; initgraph (a,b,'c:\tp6\bgi'); randomize; repeat clearviewport; DrawBezierCurve(Random(640),Random (400),Random(640),Random (400), Random(640),Random (400),Random(640),Random (400),100); readln (c); until c='q'; closegraph; end. P.S. Sorry zbog dužine poruke, nisam uspeo da okačim fajl.
algoritmi.48 marshall,
Vazno! Da li neko ima bilo kakvu literaturu (tj. docove) o programiranju muzickih kartica, tj. SB-a i GUS-a... Nije bitno sta je samo mi treba u sto vecim kolicinama. Samo kacite... :) Unapred hvala P.S.: Sorry ako sam promasio temu, ali ova mi se cini najbliza (premda naziv ne odgovara)
algoritmi.49 alien,
[] Da li neko moze da mi objasni princip programiranja logickih űigara [] (famozni iksoks iz RACUNAR-a). Na primer kako ˇŚkako da posle [] izracunatih svih mogucih kombinacija za X poteza unap÷║red odredim koja [] je najbolja za mene? Ona koja vodi ka pobedi :). Generalno, ako su ti poznate sve moguće kombinacije, onda je najbolja ona koja najbrže vodi sigurnoj pobedi, a ako nijedna ne vodi sigurnoj pobedi, onda je najbolja ona kod koje ne možeš izgubiti itd. Naravno, pri svemu tome isti kriterijum primenjuj i kod procene protivnikovog odlučivanja. Uzgred, ovde se radi o strategiji, a ne o 'logičkoj' igri. Logičke igre se bave rešavanjem 'problema', a kod strategija postoji bar jedan 'protivnik' tj. postoje suprotstavljene strane. Osnovno pravilo u strategijama je: uvek očekuj da će protivnik odigrati najbolji potez za sebe (naravno, i protivnik očekuje to za tebe). Primer koji te zanima je je prilično jednostavan jer se potezi odigravaju sekvencijalno, a omogućava izračunavanje svih mogućih kombinacija (X nije veće od 9 ;)), za razliku od npr. šaha, gde to još uvek nije moguće u realnom vremenu, ali... Očigledno je da su ljudi razvili jako dobre sisteme evaluacije nekonačne pozicije :). Što se tiče iksoksa, tu je rešenje jednostavno: kreiraš stablo gde je koren početna pozicija i praviš grane do kraja, odsecajući one grane koje su potezi koji vode igrača u neodbranjiv poraz, pa onda vidi šta ti je ostalo ;). Ako pak nemaš mogućnost da analiziraš sve moguće pozicije do kraja, onda ćeš zaista ozbiljno morati da se pozabaviš i samom igrom i matematikom - još uvek nije napisano dovoljno knjiga o tome. Inače, znatno teže odlučivanje je u igrama u kojima se potezi odigravaju istovremeno (ne znajući potez protivnika), npr: Diplomatija, par-nepar ;) ili simpatični model matrične igre koji možeš naći u knjizi 'Diskretna matematika' od Dragoša Cvetkovića..., poglavlje 'Teorija igara' (nekoliko strana). Tu je problem 'šta ako on, znajući da ja znam šta je najbolji njegov potez, zna i da ću odigrati najbolji odgovor na to, pa odigra u stvari odgovor na moj odgovor, pa bi onda bilo najbolje da ja u stvari odgovorim na njegov odgovor na moj odgovor na njegov najbolji potez' ;) algebarski razložen i sveden na verovatnoće. Rešenje je u tome da najbolje poteze vučeš sa određenom pripadajućom verovatnoćom, po randomu. Doduše, to je samo najjednostavniji primer, reda iksoksa.
algoritmi.50 pedjak,
> Vazno! Da li neko ima bilo kakvu literaturu (tj. docove) o > programiranju muzickih kartica, tj. SB-a i GUS-a... Nije bitno sta > je samo mi treba u sto vecim kolicinama. Samo kacite... :) Imaš toga dosta u C i PASCAL diru, ovde... Preporučio bih ti SoundBlaster Freedom Project (sbf3.zip)
algoritmi.51 zdiv,
rz B00000000000000 WATCOM C/C++ verzija 10.5 ? Visual programer nece da radi. Cuo sam da WATCOM ima neki patch. Da li neko zna nesto o ovome , ili mozda ima ovaj patch!? Da li je nko uspeo da pokrene Visual programer ?
algoritmi.52 mmitrovic,
Ima li neko algoritam za LZW (ili bar LZ) kompresiju. Potreban mi je prilicno hitno. Help.
algoritmi.53 vlador,
Evo mene posle duzeg vremena. :) Ako koristim MessageDlg funkciju, kao jedan od parametara joj dajem buttone koje zelim da vidim u dialogu. Da li mogu na relativno jednostavan nacin da promenim tekst u buttonima, tako da, recimo, umesto "Yes" pise "Da"? "Relativno jednostavno" znaci "elegantno". :)
algoritmi.54 bosko,
_> Ima li neko algoritam za LZW (ili bar LZ) kompresiju. Potreban Imaš to u Računarima 59/62 i 60/43, a i u ovoj datoteci. r059lzw.zip
algoritmi.55 nenad,
> Cuo sam da WATCOM ima neki patch. Watcom uvek ima neki patch. ;) Mesec-dva dana nakon izlaska svakog Watcom-a prostor koji zauzimaju patch-evi se obično već popne na 10% prostora koji zauzima instalacija. ;)
algoritmi.56 biber,
>> Mozda nekoga interesuje morfing pa evo jedne ¸│formule: Moze li objesnjenje?
algoritmi.57 mc.kuzma,
Moze li neko da mi posalje algoritam koji reaguje samo na odredjene frekvencije zvuka? Recimo program koji reaguje samo na niske tonove ili nesto slicno.
algoritmi.58 tehnikum,
Imam dva mala problema za koje bih mogao da nadjem resenje,ali sam odlucio da vidim dali neko vec ima neko efikasnije. Prvi problem je kako rasiriti bit mapiranu sliku odredjen sirine i dubine izmedju 4 koordinate(temena nekog cetvorougla nejednakih stranica) Drugi problem je kako isenciti trougao ako imam osvetljenosti njegovih temena. To bi bilo to,ako neko ima resenje bio bih zahvalan ako bi ga isti poslao.(mislim na resenje) Byte Pointer.
algoritmi.59 galimpic,
********************************** ** TAKMIČENJE U PROGRAMIRANJU ** ********************************** Vreme: Poslednja nedelja u mesecu (1. kolo: Nedelja, 28. april 1996. u 12.00 časova) Mesto: SezamNet, konferencija PCPROG, tema ALGORITMI Nagrada: Jednomesečna pretplata na SezamNet Propozicije: - Poruka koja bude ostavljena sadržaće preciznu postavku zadatka - Takmičari moraju da ostavljaju rešenja u obliku izvršnih DOS fajlova - Fajl se mora prikačiti uz poruku koja je odgovor na postavku zadatka - Svaki takmičar ima pravo da učestvuje sa neograničenim brojem rešenja - Ispravnost rešenja se procenjuje isključivo na osnovu tajnih i unapred utvrđenih grupa ulaznih podataka. - Pobednik takmičenja je onaj koji je prvi poslao ispravno rešenje zadatka na gore opisan način - Za vreme slanja važi se vreme ispisano u zaglavlju poruke rešenja (duže odlaganje kačenja datoteke posle ostavljanja poruke povlači diskvalifikaciju) - Rezultati će biti objavljeni čim se utvrdi pobednik, u obliku odgovora na poruku sa ispravnim rešenjem - U slučaju nemogućnosti poštovanja termina za ostavljanje poruke sa zadatkom takmičenje se pomera za 24 časa - U slučaju nemogučnosti poštovanja rezervnog termina, umesto zadatka se ostavlja poruka sa daljim uputstvima - Pravo učestvovanja imaju svi članovi SezamNet-a osim onih koji su iz bilo kog razloga unapred upoznati sa zadatkom i/ili test grupama i onih koji rešenje ostave pristupom sa nekog od lokalnih nodova - Rukovodilac i sudija takmičenja je galimpic
algoritmi.60 vdjole,
Slični problemi se pojavljuju pri generisanjima mreža konačnih elemenata. Ako se dobro sećam davnih dana kada sam radio diplomski to nazivaju "transfinite interpolation" a algoritme je razvio izvesni Coons. Interpolacija u trouglu se tu isto svodi na interpolaciju (osvetljenosti) u pravougaoniku koji je deformisan da mu se dva temena spoje. Stvarno se ne sećam najbolje ovako na brzaka, ali pogledaću na poslu, mislim da imam neke rutine koje obavljaju takav posao (biće da su u FORTRANu ali valjda nije bitno). Javiću se.
algoritmi.61 vdjole,
> transfinitna interpolacija... Nazalost nema nista od rutina. Za slucaj preslikavanja pravougaonika u oblast oblika cetvorougaonika to bi, u najjednostavnijem slučaju trebalo da se svodi na običnu linearnu interpolaciju funkcije dve promenljive. Na primer, nešto slično ovome: ako su x,y koordinate tacke u prevougaonoj slici dimenzija a x b, a Xa,Ya; Xb,Yb, Xc,Yc, Cd,Yd koordinate temena preslikanog četvorougla, preslikane koordinate tacke xt,yt bi se mogle ovako odrediti: f1 = (1-x/a)*(1-y/b) f2 = (x/a)*(1-y/b) f3 = (x/a)*(y/b) f4 = (1-x/a)*(y/b) xt = f1*Xa + f2*Xb + f3*Xc + f4*Xd yt = f1*Ya + f2*Yb + f3*Yc + f4*Yd
algoritmi.62 galimpic,
******************************************* TAKMIČENJE U PROGRAMIRANJU - Zadatak broj 1 ******************************************* Napraviti program koji igra iks-oks ("ruski šah") sledećih karakteristika: 1. Naizmenično započinju partije kompjuter i čovek (počevši od čoveka) 2. Potezi čoveka se unose, a kompjutera izdavaju u obliku broja 1-9, koji predstavljaju sledeća polja: 123 456 789 3. Posle završene partije, kompjuter proglašava svoju pobedu ili nerešen rezultat i započinje se sledeća (videti pravilo 1) 4. Program završava sa radom kada čovek unese 0 kao polje za potez 5. Kompjuter ne sme da gubi i mora da pobedi svaki put kada za to postoji način (posle greške čoveka) Ovo su minimalni zahtevi, dok se po želji mogu dodati i drugi elementi (npr. crtež table, slučajni izbor prvog poteza), ako se ne kose sa navednih 5 pravila. Dodaci, međutim, ne utiču na ocenu ispravnosti programa. Rešenja šaljite u obliku izvršnih DOS fajlova prikačenih uz poruku koja je odgovor na ovu poruku. Za detaljnije propozicije pogledajte poruku 1.59.
algoritmi.63 embe,
IKS-OKS by EMBE mbiksoks.zip
algoritmi.64 embe,
Opet EMBE. Malo sam ga modifikovao, pa sam mu i ime promenio. Sada se zove NEPOBEDIVI. I onaj prethodni je dobro radio, ali je postojala caka da covek pobedi. nepobedi.zip
algoritmi.65 embe,
Opet EMBE. Ovo je finalna verzija. final.zip
algoritmi.66 vinkom,
Evo da i mog resenja, valjda ce proci testove. Pozdrav VinkoM. taksez.exe
algoritmi.67 embe,
Ko vam je kriv sto ne citam propozicije :) xoks.zip
algoritmi.68 beca,
Evo jos jedan za rezervu xo.exe
algoritmi.69 embe,
Jos jedan od mene. contest.zip
algoritmi.70 vinkom,
Valjda ce onaj prvi poloziti, a za svaki slucaj evo ga opet uz sitne izmene :) Pozdrav VinkoM taksez1.exe
algoritmi.71 vinkom,
Program je baziran na heuristici, pa ga dogradjujem. Nadam se da je ovo poslednji put. :) taksez2.exe
algoritmi.72 galimpic,
******************************************************** JOŠ UVEK NEMA POBEDNIKA - TAKMIČENJE JE I DALJE OTVORENO ******************************************************** Prve tri verzije korisnika embe, kao i jedina verzija korisnika beca ne poštuju pravilo 3 (završavaju se odmah posle prve partije), četvrta verzija embe (xoks.exe) ima bug u prepoznavanju remija. poslednja verzija embe-a (contest.exe) i sve tri verzije vinkom-a greše pri igranju (ne igraju najbolje poteze kada mogu da pobede, a neke verzije i gube). O detaljima ćemo kasnije ako bude pritužbi, kako ne bih pomagao.
algoritmi.73 deimos,
Evo i mog doprinosa za takmicenje ! ,dEiMoS. deimosxo.arj
algoritmi.74 beca,
Pa da probamo ponovo xo2.exe
algoritmi.75 embe,
Evo mene ponovo ! latest.zip
algoritmi.76 embe,
I jos .... latest2.zip
algoritmi.78 vinkom,
Mislim da ova verzija ne oprasta coveku. VinkoM taksez3.exe
algoritmi.79 galimpic,
************************** STOP! DOBILI SMO POBEDNIKA ************************** Korisnik embe je iz šestog pokušaja osvojio mesec dana pretplate. Iks-oks se pokazao kao tvrd orah - svi misle da lako mogu da naprave program koji dobro igra ovu (stupidnu) igru, ali...
algoritmi.80 embe,
REKLAMACIJA!!!! Moram da intervenisem ! Ispravka je da sam imao sedam pokusaja. Ovaj sesti program koji je proglasen za pobednika pod imenom LATEST MOZE DA IZGUBI OD COVEKA. Zato sam i poslao sedmi program pod imenom LATEST2 kod koga je to eliminisano ! Program koji je proglasen za pobednika moze da izgubi na sledeci nacin: covek treba da igra 2 , 6 , 3 , 9 ovim redom (kada covek pocinje) ... i pobedio je. Gresku sam odmah uocio pa sam zato i poslao novu verziju. Ovo pisem zato da se ne bi napravila zestoka rasprava kada se ustanovi neispravnost programa. Molim moderatora da iskontrolise program LATEST2 (s obzirom da je on stigao odmah iza prgrama pobednika). Pozdrav embe.
algoritmi.81 galimpic,
Dobro, de. U svakom slucaju, embe je pobednik.
algoritmi.82 imangovski,
Interesuje me u kom je programskom jeziku pisan program pobednika(embe-a).
algoritmi.83 galimpic,
> Interesuje me u kom je programskom jeziku pisan program > pobednika(embe-a). Ovo se da izvući iz EXE fajla: Borland C++ - Copyright 1994 Borland Intl. Možda embe hoće da pošalje source? :)
algoritmi.84 imangovski,
Zadatak uopste nije bio tezak,steta sto nisam bio kod kuce u to vreme;(
algoritmi.85 embe,
>>> Interesuje me u kom je programskom jeziku pisan program >>> pobednika(embe-a). Pisan je u C++. Zato je i EXE file toliko dugacak :))))). Salim se. Toliko je dugacak zato sto sasvim nepotrebno (za ovaj zadatak) u sebi sadrzi interfejs klase za unos stringa, intidzera i reala. S obzirom da je bila bitna brzina, spremio sam se za svaki slucaj. Posle nisam hteo da pisem neke druge funkcije za unos, koje ne bi ukljucivale toliko mnogo razlicitih header-a i funkcija. Videvsi programe ostalih kandidata, koji su imali "asemblersku" duzinu od 4-9kb bilo me je malo blam, ali .... Inace ceo kod je dugacak oko 200 linija.
algoritmi.86 embe,
>>>> Mozda embe hoce da posalje source? :) Poslacu source za tri cetiri dana, kada ga jos malo nasminkam, i doteram. Hteo sam i za sam konkurs da napravim da kompjuter igra proizvoljan prvi potez, ali sam se u trenutku zapetljao, pa odustao. Cim ovo sredim, poslacu source, obecavam. Sto se tice takmicenja, ocekivao sam malo vece interesovanje populacije dobrih programera za koju verujem da je jako brojna. Bilo je zanimljivo trkati se sa vremenom, ali jos mi je vece zadovoljstvo predstavljalo testiranje "konkurentskih" programa. Sve u svemu jedva cekam sledece takmicenje (ala sam se zapalio) i pitam se zasto nije barem svake druge nedelje (jos vise sam se zapalio). Pozdrav, EMBE
algoritmi.87 galimpic,
> Sto se tice takmicenja, ocekivao sam malo vece interesovanje > populacije dobrih programera za koju verujem da je jako brojna. Mozda je mala motivacija (mesec dana pretplate)? Probaću da izdejstvujem bolje nagrade. Ako se onda bude javljalo više ljudi, može i da bude češće, što da ne.
algoritmi.88 galimpic,
> Zadatak uopste nije bio tezak,steta sto nisam bio kod kuce u to > vreme;( Neki me ubeđuju da je bolje da se promeni termin. Ako ima još istomišljenika, molim da se jave (sa argumentima).
algoritmi.89 embe,
>>>> Mozda je mala motivacija (mesec dana pretplate)? Probacu da >>>> izdejstvujem >>>> bolje nagrade. Ako se onda bude javljalo vise ljudi, moze i da bude >>>> cesce, sto da ne. Mislim da poenta nije u vrednosti nagrade, vec u REKLAMI samog takmicenja. Mozda treba da se glasnije zvoni na zvona. Postoji jedan casopis koji se zove Racunari, u kome je ranije bilo nekoliko santimetara posveceno dgadjanjima na Sezamu, a koji sada objavljuje samo informaciju o visini clanarine, i broj telefona Sezama. Ranije je bilo i izvestaja moderatora konferencija, pa bajtovi licne prirode ....... Ovo nije samo konstatacija vezana za ovo takmicenje vec imam blagi osecaj da opada broj clanova Sezama. Voleo bih da nisam u pravu ! Mora se uciniti nesto, a ne pustiti na "vote" jednu anketu, pa onda sest meseci cekati (anketa o Sezamu). Malo sam se zaneo, mozda ovo nije bas za ovu konferenciju - izvinjavam se. Pozdrav, EMBE.
algoritmi.90 embe,
Evo izvornog koda programa za IKS-OKS, koji je pobedio na konkursu. Pozdrav, EMBE mb_xosrc.zip
algoritmi.91 vitez.koja,
#=> Mozda je mala motivacija (mesec dana pretplate)? Probaću da #=> izdejstvujem bolje nagrade. Ako se onda bude javljalo više ljudi, #=> može i da bude češće, što da ne. Jok, meni lično se ne sviđa princip ko prvi pošalje... Mnogi nemaju baš vremena tada nego neki drugi put i slično... Možda da bude rok do nedelju dana, a da se šalje na mail ili slično... sk
algoritmi.92 deimos,
>> Jok, meni licno se ne svida princip ko prvi posalje... Mnogi >> nemaju bas vremena tada nego neki drugi put i slicno... Mozda da bude Potpuno se slazem. Verziju koju sam poslao uradio sam za sat vremena sa sve sminkanjem, samo da bi bilo koliko-toliko brzo poslato. Poenta bi treba da bude - ko posalje najbolje resenje (najlepse i najfunkcionalnije), a ne ko posalje prvi. Naravno, nemam nista protiv toga sto je embe bio najbrzi, i ovom prilikom mu cestitam na pobedi :) .dEiMoS. PS. Cekamo sledeci zadatak ! :)
algoritmi.93 galimpic,
> Mislim da poenta nije u vrednosti nagrade, vec u REKLAMI samog > takmicenja. Mozda treba da se glasnije zvoni na zvona. Ipak ovo nije tako pretenciozno takmičenje da bi trebalo da se zvoni - bar ga ja nisam tako doživeo. Međutim, da sam takmičar, bio bi to vredan razlog da ostanem na Sezamu. Ako bi stvarno bilo bar desetak ljudi ovde koji VOLE da programiraju, kojima Clipper ne viri iz ušiju, za to sam da pravimo takmičenje svake nedelje. Uopšte ne mora da bude toliko formalno kako sam ga smislio. Na primer, hajde da pobednik svakog ciklusa zadaje sledeći zadatak (malo i ja da se igram, a i ko će iz rukava da izvlači stalno nešto novo :). Što se tiče forme takmičenja, postoje načini da se sve organizuje tako da budu nagrađena najbolja rešenja - prijavljivanja, mail, pa čak i poseban podsistem kao što je VOTE. Ali, čemu komplikacije? Bolje da bude svima dostupno i jednostavno, pa makar i nesavršeno. A za reklamu, nije li moje ime (skoro) na samom vrhu impresuma? ;) Sa' ću ja to da sredim! Gremlineeee...
algoritmi.94 galimpic,
> Potpuno se slazem. Verziju koju sam poslao uradio sam za sat vremena > sa sve sminkanjem, samo da bi bilo koliko-toliko brzo poslato. Lepo si ga našminkao, ali nisi čitao pravila. Tako sam se nervirao što niko u prvo vreme nije slao program koji ne završava odmah posle prve partije! Sledeći put - manje pravila, više programiranja, jer nemam nameru da zadajem lake zadatke.
algoritmi.95 embe,
>> a ne ko posalje prvi. Naravno, nemam nista protiv toga sto je embe bio >> najbrzi, i ovom prilikom mu cestitam na pobedi :) Hvala na cestitkama, narocito je vredno kada one dodju od "suparnika". Pozdrav, EMBE
algoritmi.96 embe,
>>> smislio. Na primer, hajde da pobednik svakog ciklusa zadaje sledeci >>> zadatak (malo i ja da se igram, a i ko ce iz rukava da izvlaci >>> stalno nesto novo :). E ovo je stvarno dobra ideja !!! Taman imam par zadataka za koje smatram da mogu da budu interesantni za neko od narednih takmicenja. Ja sam ZA, i ako je moguce, vec sledece nedelje, TACNO U PODNE, moglo bi se organizovati takmicenje, po istim principima kao i prvo. Sta svi mislite o ovome ? Jedno pitanje : Koju nagradu dobija moderator (galimpic) ako pobedi ? :)))))) Pozdrav, EMBE
algoritmi.97 mmarkovic,
Subject: takmičenje u programiranju > Ako bi stvarno bilo bar desetak ljudi ovde koji VOLE da > programiraju, kojima Clipper ne viri iz ušiju, za to sam da > pravimo takmičenje svake nedelje. Nisam očekivao ovakvu izjavu, ne na ovakvom mestu, i posebno, ne od zvanične osobe! Ako misliš da je pametnije utrošiti vreme na IKS-OKS, osvojiti 10 dinara ( to je negde oko 3 DEM, baš ste bili galantni ;), nego Clipperom zarađivati pare ( da, o tome se radi ), onda svaka čast. Zabavljajte se... Ljudi, kojima "Clipper viri iz ušiju" obično znaju još ponešto. Uostalom, pitaj nbatocanina, dvesica, bulaju ... Ima ih još. P.S. Kada će biti zadatak "MICE", ili još nešto tako pametno, pa da prodamo Microsoftu, pa looovaa, bato! ;>
algoritmi.98 galimpic,
> Nisam očekivao ovakvu izjavu, ne na ovakvom mestu, i posebno, ne od > zvanične osobe! Slažem se da sam ovom neumerenom izjavom, s obzirom na moderatorski status, uvredio ljude kojima je programiranje zanat. Izvinjavam se. Molim samo da se uzme u obzir da je rasprava opuštenog tipa, kao i to da je smisao te rečenice bio da je lepo i korisno baviti se rekreativnim programiranjem. > P.S. Kada će biti zadatak "MICE", ili još nešto tako pametno, pa da prodamo > Microsoftu, pa looovaa, bato! ;> Nije sve u parama.
algoritmi.99 janko,
> Nije sve u parama. Reče galimpic i emigrira. ;)
algoritmi.100 embe,
>> Ako mislis da je pametnije utrositi vreme na IKS-OKS, osvojiti 10 dinara >> ( to je negde oko 3 DEM, bas ste bili galantni ;), nego Clipperom zaradivati >> pare ( da, o tome se radi ), onda svaka cast. U svakom slucaju je zanimljivije. Zar ti stvarno mislis da su se ljudi takmicili zbog 10 dinara ? Sto se tice zaradjivanja programiranjem, pare se ne zaradjuju samo Clipper-om i programima za knjigovodstvo i plate. Steta, ne moze se organizovati takmicenje na temu ko vise para zaradi za jedan program, mislim da bi oni koji prave vizit-karte u Photo Shopu ili vrse pripremu stampe odneli sva prva mesta. Sto se tice MICA predlog je jako interesantan. Izjava moderatora, stvarno je malo surova, ali svi mi kojima je bila upucena nismo je shvatili kao uvredu Clipper-asima. Pozdrav, EMBE
algoritmi.101 mmarkovic,
Subject: takmičenje u programiranju, "Clipper viri iz ušiju" > Slažem se da sam ovom neumerenom izjavom, s obzirom na > moderatorski status, uvredio ljude kojima je programiranje > zanat. Izvinjavam se. Prihvaćeno izvinjenje, potpuno. Velika je stvar uočiti i priznati grešku. Svaka čast, retki su ljudi kao ti. Nadam se da će tvoje ime biti još višlje u impresumu, ali ne Gremlinovom zaslugom ;) > Nije sve u parama. Ex, nije! Dabome, nešto je i u zdravlju, deci i porodici, ali je sve lakše sa parama. Pogledah ti res. Ideš u Kanadu. A zašto? I zbog para, sigurno. Da ne kvarimo ovu temu više, ovo je za neku drugu. ----------------------------------------------------------------------- Dakle, predlažem: 1. da se za takmičenje otvori neka druga tema u ovoj conf. ( "algoritam" za igru koja ima 3 (tri) suštinski različita početna poteza ( ne nisam pogrešio: "ćoše", sredina strane i sredina polja ) ne zaslužuje da ostane u temi kao neka vrednost! Toliko je prosto, da verovatno može da se reši if-ovima, kakva heuristika ) 2. da zadaci budu teži i praktičniji, sa većim rokovima i vrednijim nagradama ( recimo, licencirani prog.paketi ) ( ljudi koji rade nemaju nikakve šanse! Mislim na nešto kao ono takmičenje u poslovnim problemima gde Magic pobeđuje glatko ) 3. da se programi daju u source-u, i da posle takmičenja budu PD
algoritmi.102 mmarkovic,
Subject: takmičenje u programiranju > U svakom slucaju je zanimljivije. Zar ti stvarno mislis da su > se ljudi takmicili zbog 10 dinara ? Sto se tice zaradjivanja > programiranjem, pare se ne zaradjuju samo Clipper-om i > programima za knjigovodstvo i plate. Sigurno da ne mislim da si pisao program zbog 10 din. Ali zato ova zemlja i stoji ovako što je nečiji trud ovako vrednuje. Dok se budemo takmičili u IKS-OKS-u, plaćali 10 dinara I mesto (ej, PRVO!), dotle će nam, nažalost, galimpici i odlaziti u Kanadu, Novi Zeland... Možda bi bilo korisnije da je prva nagrada donela original Borland C++, ili, zašto ne, CA Clipper... > Izjava moderatora, stvarno je malo surova, ali svi mi kojima je > bila upucena nismo je shvatili kao uvredu Clipper-asima. Jeste surova, ali čoveku se omaklo i izvinio se. Pa, bila je upucena i Clipper-asima koji prate ovo. Nisam u zabludi: dobar deo ljudi kojima "Clipper viri..." ne zna mnogo, ali mnogi znaju mnogo više.
algoritmi.103 embe,
>> ( "algoritam" za igru koja ima 3 (tri) sustinski razlicita pocetna >> poteza ( ne nisam pogresio: "cose", sredina strane i sredina polja ) >> ne zasluzuje da ostane u temi kao neka vrednost! Toliko je prosto, da >> verovatno moze da se resi if-ovima, kakva heuristika ) Ovo je bilo prvo takmicenje ! Moderator sigurno nije znao koju tezinu zadatka moze da postavi. Uglavnom su reagovanja i bila tipa "... bio je prilicno lak zadatak ..." I jos nesto, svaki je algoritam dobar ako daje tacno resenje. A zadatak se i resavao sa if-ovima. Ne mislis valjda da je trebalo praviti "vestacku inteligenciju" za ovaj tip zadatka. Ne znam zasto se pljuje po ovoj tako dobroj ideji. Sigurno postoji sansa da ovo takmicenje preraste u nesto ozbiljnije. Do tada ce se valjda i pronaci prava mera kao i prave propozicije. >> 2. da zadaci budu tezi i prakticniji, sa vecim rokovima i vrednijim >> nagradama ( recimo, licencirani prog.paketi ) >> ( ljudi koji rade nemaju nikakve sanse! Mislim na nesto kao ono >> takmicenje u poslovnim problemima gde Magic pobeduje glatko ) Sto se tice tezine i prakticnosti zadataka, u svakom slucaju si u pravu. Sto se tice rokova, mozda bi trebalo voditi dva takmicenja paralelno, jedno u "cugeru" a jedno u "dopisnom" programiranju :) Shodno tome uskladjivala bi se tematika i obim zadataka. O vecim nagradama moze samo da se sanja, potrebni bi bili sponzori koji bi nasli svoj interes u tome. Ko ce jos da pokloni 1000 maraka (~ cena BC4.5) nekim programerima koji se igraju na Sezamu ? Ipak ne treba biti toliko strog sa kritikama, ovo je nadam se, tek pocetak. Pozdrav, EMBE
algoritmi.104 galimpic,
> Nadam se da će tvoje ime biti još višlje u impresumu, ali ne Gremlinovom > zaslugom ;) Uff... jednom prilikom, dok je Gremlin bio na InfoFestu u Budvi, imao sam svojih nedelju dana glavnouredničke prakse. Kakav haos i užas! Možda sam ja neorganizovan, možda atmosfera u društvenom preduzeću kakvo je BIGZ nije najbolja, ali... nikad više! Jedva se iščupah iz tog pakla! Od tada ne zameram Gremlinu kada po tri puta zaboravi nešto na šta ga podsećam. > Pogledah ti res. Ideš u Kanadu. A zašto? I zbog para, sigurno. Idem da bih bolje živeo i da ne gledam kako ponovo tonemo u komunizam. Za ovo prvo trebaju pare, jasno, ali kao sredstvo. > 1. da se za takmičenje otvori neka druga tema u ovoj conf. Dobra ideja, ali tek ako takmičenje zaživi. > ne zaslužuje da ostane u temi kao neka vrednost! Toliko je prosto, da > verovatno može da se reši if-ovima, kakva heuristika ) To sam i ja mislio, pa ispade malo teže. Nije kvadratura kruga, jasno, ali je potrebno pola sata - sat da se završi ako sve ide OK, taman za ovo takmičenje. > 2. da zadaci budu teži i praktičniji, sa većim rokovima i vrednijim > nagradama ( recimo, licencirani prog.paketi ) Onda bi nam trebao i sponzor, jer Sezam to ne može da finansira. Mislim da je nagrada koju predlažeš predimenzionirana, ali da bi duža pretplata na Sezam ili Računare bile dovoljno primamljive. > 3. da se programi daju u source-u, i da posle takmičenja budu PD Za PD mislim da se niko neće buniti, ali zamisli kako izgleda source kada se sve radi na brzinu. Ne mogu da teram autore da to srešuju. BTW Malo smo odlutali od namene ove teme, lepo su mi govorili da takmičenje treba da ide u 'razno'.
algoritmi.105 mmarkovic,
Subject: takmičenje u programiranju > A zadatak se i resavao sa if-ovima. Ne mislis valjda da je trebalo praviti > "vestacku inteligenciju" za ovaj tip zadatka. vinkom je spomenuo heuristiku. ( 1.71 ). Takvo rešenje bi bilo i vrednije od "klasičnog", ali se ne može uraditi na brzinu. Može i heuristika, sigurno, ali ne na takmičenju "ko prvi" ... > Ne znam zasto se pljuje po ovoj tako dobroj ideji. Sigurno postoji sansa da > ovo takmicenje preraste u nesto ozbiljnije. Do tada ce se valjda i > pronaci prava mera kao i prave propozicije. Ne, ne pljujem ja po toj ideji. Reakcija je bila pre svega na "Clipper viri..." Čak sam predložio: 1. posebna tema 2. teži i praktičniji zadaci 3. vrednije nagrade > O vecim nagradama moze samo da se sanja, potrebni bi bili sponzori > koji bi nasli svoj interes u tome. Tako je. PCPRESS poklanja vrednu nagradu u svakom broju SAMO za popunjavanje anketnog lista. Neka im daju popust od 10-20-30% za reklame ako sponzorišu takmičenje. Neka takmičenje bude na 2-3 meseca. Skupilo bi se, iha.
algoritmi.106 embe,
Sta je sa predlogom da se takmicenja proguste ?
algoritmi.107 galimpic,
> Nadam se da će tvoje ime biti još višlje u impresumu, ali ne Gremlinovom > zaslugom ;) Uff... jednom prilikom, dok je Gremlin bio na InfoFestu u Budvi, imao sam svojih nedelju dana glavnouredničke prakse. Kakav haos i užas! Možda sam ja neorganizovan, možda atmosfera u društvenom preduzeću kakvo je BIGZ nije najbolja, ali... nikad više! Jedva se iščupah iz tog pakla! Od tada ne zameram Gremlinu kada po tri puta zaboravi nešto na šta ga podsećam. > Pogledah ti res. Ideš u Kanadu. A zašto? I zbog para, sigurno. Idem da bih bolje živeo i da ne gledam kako ponovo tonemo u komunizam. Za ovo prvo trebaju pare, jasno, ali kao sredstvo. > 1. da se za takmičenje otvori neka druga tema u ovoj conf. Dobra ideja, ali tek ako takmičenje zaživi. > ne zaslužuje da ostane u temi kao neka vrednost! Toliko je prosto, da > verovatno može da se reši if-ovima, kakva heuristika ) To sam i ja mislio, pa ispade malo teže. Nije kvadratura kruga, jasno, ali je potrebno pola sata - sat da se završi ako sve ide OK, taman za ovo takmičenje. > 2. da zadaci budu teži i praktičniji, sa većim rokovima i vrednijim > nagradama ( recimo, licencirani prog.paketi ) Onda bi nam trebao i sponzor, jer Sezam to ne može da finansira. Mislim da je nagrada koju predlažeš predimenzionirana, ali da bi duža pretplata na Sezam ili Računare bile dovoljno primamljive. > 3. da se programi daju u source-u, i da posle takmičenja budu PD Za PD mislim da se niko neće buniti, ali zamisli kako izgleda source kada se sve radi na brzinu. Ne mogu da teram autore da to sređuju. BTW Malo smo odlutali od namene ove teme, lepo su mi govorili da takmičenje treba da ide u 'razno'.
algoritmi.108 galimpic,
> Sta je sa predlogom da se takmicenja proguste ? Već posle prvog kola? Ajde, važi, ali nemoj da mi opet učestvuje troje ljudi. Dakle, u nedelju u podne idemo opet. Biće i zvanično.
algoritmi.109 plovput,
+| Već posle prvog kola? Ajde, važi, ali nemoj da mi opet učestvuje +| troje ljudi. Dakle, u nedelju u podne idemo opet. Biće i zvanično. Bolje da zadaci budu vezani za grafiku (barem neki put). Znaci zoomiranje slike, rotiranje, neki demo efekti.. Pa kome radi program brze i koji je lepsi i kraci odnosi nagradu. Time bi se i zadovoljio time limit sto se tice brzine slanja resenja. Da se da rok do nekih 5 dana kako bi svi stigli em da vide zadatak em da ga posalju. Ovako imamo situaciju da u jednom textpadu mozemo videti i zadatak i odgovor a ko zna mozda vec i proglasenje pobednika sto nije dobro.
algoritmi.110 embe,
>>>> Vec posle prvog kola? Ajde, vazi, ali nemoj da mi opet ucestvuje >>>> troje ljudi. Dakle, u nedelju u podne idemo opet. Bice i zvanicno. Sigurno ce biti MANJE OD TROJE LJUDI, ako se ne uputi poruka koju ce svi moci da procitaju, tj. sistemska poruka. Tako ce se i oni koji ne prate ovu konferenciju mozda zaintrigirati ! Sto se tice predloga (1.109 plovput-a), mislim da je ipak bolje da se ostane u domenu algoritama i ocenjivanja programa sa tacno-netacno. U suprotnom, pitanje najboljeg resenja moze biti stvar subjektivne procene, a to je stvarno, stvarno skakljivo....
algoritmi.111 vitez.koja,
#=> Sto se tice predloga (1.109 plovput-a), mislim da je ipak bolje da #=> se ostane u domenu algoritama i ocenjivanja programa sa #=> tacno-netacno. Ocenjivanje programa sa tačno-netačno bi trebalo da bude samo na osnovu test podataka, te da to što korisnici-takmičari dodatno ispituju taj program (i nalaze falinke, kao što je autor sada našao sam sebi za program koji je prvobitno proglašen pobednikom ;), ne bi smelo da utiče na ocenu tačnosti programa, tj. da je potpuno dozvoljeno uraditi i program tipa if test_primer_1 then print bla_bla_1 else if test_primer_2 then print bla_bla_2 else .... ako se na neki volšeban način dođe do test primera... sk
algoritmi.112 vinkom,
> vinkom je spomenuo heuristiku. ( 1.71 ). Evo da se i ja, kao jedan od ucesnika takmicenja, javim. Zadatak sam resio pomocu nekakve heuristike koja se sastojala u tome da sam kod odlucivanja koji cu potez odigrati, odigrao sve moguce partije do kraja pocevsi od trenutne situacije na tabli (to sam mogao u realnom vremenu zbog male dimenzije table). Sabirao sam koja su zadnje odigrana pobednicka polja za kompjuter odnosno za coveka, te sam odigrao potez na ono polje koje je najvise odgovaralo coveku (tj. na maksimalnu razliku 'covek je sa tim poljem pobedjivao' minus 'kompjuter je sa tim poljem pobedjivao'). Sama formula je imala i mana koje sam naknadno 'frizirao' IF naredbama. Naime prva verzija je gubila od coveka, sledeca nije dobijala uvek kad je mogla, a nadam se da zadnja ispunjava sve zadane kriterije. Ovaj nacin resavanja u momentu mi se ucinio boljim od upotrebe IF naredbi. Iako sa neizvesnim ishodom istrajao sam do kraja. Moglo se to i bolje resiti da je kompjuter igrao u tom 'razigravanju' inteligentno, tj. najbolje sto moze, pa se jednostavno odabere onaj potez gde kompjuter sigurno pobedjuje ili u najgorem slucaju igra nereseno. No, tada bi uleteo u malo slozenije rekurzije, gde je postojala mogucnost zapetljavanja, a to u brzinskom takmicenju nisam smeo dozvoliti. Eto toliko o zadatku i heuristici. Sto se tice takmicenja misljenja sam da bi trebalo i dalje da bude brzinsko. Takmicenje na duzi rok bile su 'Pitalice' u 'Racunarima'. Ne znam zasto se to takmicenje po drugi put ugasilo kada se vidi da za njega postoji interesovanje. Tu su se mogli davati i tezi i ozbiljniji zadaci, a u ovakvom brzinskom takmicenju zadaci bi trebali biti tezine zadataka saveznog takmicenja iz informatike ili informatickih olimpijada i opsteg tipa kako bi svi imali podjednake sanse. Samo takmicenje ne bi trebalo da traje duze od 1 do 3 sata. Vreme odrzavanja je dobro, dakle kroz jutro neradnim danom kad telefonske linije nisu zagusene, a i na SEZAM-u nema puno korisnika te se na taj nacin ne gubi, tada dragoceno, vreme cekajuci na uspostavljanje veze. I na kraju jos dva predloga: - da se kontrolor (galimpic) cesce ukljucuje i kontrolise resenja, te daje izvestaje o toku takmicenja, - da se datoteka sa test podacima okaci u konferenciju kako bi i mi mogli da testiramo i vrednujemo pristigla resenja na kraju takmicenja i eventualno damo svoje primedbe (to se moze izvesti tako da se sifrovana datoteka sa test primerima okaci zajedno sa zadatkom (u 12:00), a kad se proglasi pobednik da se dostavi kljuc kojim cemo desifrovati test datoteku i proveriti svoje i konkurentske programe). Izvinjavam se na duzini teksta, ali nakupilo se ovih nekoliko dana :)
algoritmi.113 galimpic,
> ako se na neki volšeban način dođe do test primera... Neće se doći do test primera. Tačka.
algoritmi.114 galimpic,
> Zadatak > sam resio pomocu nekakve heuristike koja se sastojala u tome da > sam kod odlucivanja koji cu potez odigrati, odigrao sve moguce > partije do kraja pocevsi od trenutne situacije na tabli Onda to nije heuristika već gruba sila, zar ne? > - da se datoteka sa test podacima okaci u konferenciju kako bi i > mi mogli da testiramo i vrednujemo pristigla resenja na kraju > takmicenja i eventualno damo svoje primedbe (to se moze izvesti > tako da se sifrovana datoteka sa test primerima okaci zajedno sa > zadatkom (u 12:00), a kad se proglasi pobednik da se dostavi kljuc > kojim cemo desifrovati test datoteku i proveriti svoje i > konkurentske programe). Tada bi trebale dve prve nagrade za dve različite grupe rešavača: jedna za najbržeg programera, druga za najboljeg razbijača šifre :)
algoritmi.115 galimpic,
Moraćemo da ipak odložimo takmičenje za sledeću nedelju. U pitanju su neki tehnički razlozi.
algoritmi.116 deimos,
>> Evo da se i ja, kao jedan od ucesnika takmicenja, javim. Zadatak >> sam resio pomocu nekakve heuristike koja se sastojala u tome da >> Ovaj nacin resavanja u momentu mi se ucinio boljim od upotrebe >> IF naredbi. Iako sa neizvesnim ishodom istrajao sam do kraja. Svaka cast, ali zar niko nije razmisljao o tome da su za ovu igru (sa programerskog stanovista) dovoljni samo par uslova? S obzirom da je tabla samo 3x3, vazi sledece: 1. Ako je komp u sredini polja ili na sredini strane onda sme da igra samo po sredini stranica, odnosno u centar dok je to moguce, a onda pod 3). 2. Ako je komp u uglu, onda mora da igra po uglovima, sve dok je to moguce , a onda po poljima udaljenim najmanje za dva, a zatim pod 3). 3. Komp igra bilo gde (ako se dodje do ovde onda je sigurno nereseno). Ovim metodom se dobija sledece: - Program ne mora da prati covekove poteze - Program ne mora da prati svoje poteze - Program prati samo zauzeta mesta u 9-o clanom nizu. - Druga od dve procedure u celom programu samo proverava da li je partija gotova (ima li pobednika). Normalno, da je tabla NxM, onda bi bilo mozda zgodnije da se radi po principu heuristike ili neceg slicnog, mada je i onda ovo primenljivo, samo sto bi se lista uslova produzila, pa bi bilo suvise glomazno. >> Sto se tice takmicenja misljenja sam da bi trebalo i dalje da >> bude brzinsko. Takmicenje na duzi rok bile su 'Pitalice' u >> tipa kako bi svi imali podjednake sanse. Samo takmicenje ne bi >> trebalo da traje duze od 1 do 3 sata. Vreme odrzavanja je dobro, Ne slazem se, jer nisu svi u mogucnosti da rezervisu nedelju u 12-15h za takmicenje na Sezamu, jer Sezam nije obaveza, vec je vise na razonodnoj bazi za vecinu korisnika, koji bi i pored svojih obaveza zeleli da se takmice. Konkretno, ja sam bio sprecen prosli put da se odazovem u to vreme, a zadatak sam video tek u ponedeljak po podne, a sigurno nisam poslednji koji je procitao poruku sa zadatkom. Ako bi se dao rok, npr: saljite resenja zadatka od trenutka kada je objavljen do <narednih-par-dana>. Konkretno to bi znacilo sledece: - Takmicenje traje od 12h u nedelju do 12h u npr. sredu. - Rezultati u vidu tabele (1., 2., 3. ... mesto ) se objavljuju izmedju srede i nedelje, kao i prilazu primedbe i komentari ( za ovo bi stvarno mogla i posebna tema, narocito ako je u vidu da takmicenja budu redovna ). - Poslata resenja salju se u conf. da bi i ostali ucesnici, ako 'ziriju' promakne, mogli da ukazu na neispravnost nekog resenja. Ovime ce se bitno povecati broj ucesnika, a sa tim i konkurencija, pa ce i celo takmicenje biti zanimljivije. >> I na kraju jos dva predloga: >> - da se kontrolor (galimpic) cesce ukljucuje i kontrolise resenja, Ovo je dobra ideja. 'Kontrolor' bi mogao, u slucaju da takmicenje traje par dana, svakog dana da neku vrstu 'prolaznog vremena', diskvalifikacije, ukaze na masovno dezinterpretiranje pravila O:)... Izvinjavam se na duzini poruke. .dEiMoS.
algoritmi.117 vinkom,
>> Zadatak >> sam resio pomocu nekakve heuristike koja se sastojala u tome da >> sam kod odlucivanja koji cu potez odigrati, odigrao sve moguce >> partije do kraja pocevsi od trenutne situacije na tabli > Onda to nije heuristika vec gruba sila, zar ne? Heuristika dolazi posle upotrebe grube sile. Rezultate dobijene upotrebom grube sile trebalo je na neki nacin intepretirati i odabrati sledeci potez. Za interpretacije koje sam koristio nisam unapred znao da li su dobre, dokle nisam testirao program i video kako ce se ponasati. Sve je bilo bazirano na nekom osecaju da je to prava stvar. Od svih interpretacija (pa mozemo reci i heuristickih formula) ja sam izabrao onu koja se najbolje ponasala, tj. izabirala najbolji potez. Gruba sila bi ostala gruba sila da je kompjuter u tom razigravanju igrao inteligentno, tj. kod odigravanja svog poteza koristio ovu istu proceduru kojom odigrava i potez u pravoj partiji, pa da se onda odabere onaj pravac gde se sigurno dobija ili igra nereseno. To nisam igrao jer sam izbegavao komplikacije. Kod razigravanja u ovom programu potezi su nasumice bili odigrani, tj. popunjavalo se prvo slobodno polje kako za coveka tako i za kompjuter. >> takmicenja i eventualno damo svoje primedbe (to se moze izvesti >> tako da se sifrovana datoteka sa test primerima okaci zajedno sa >> zadatkom (u 12:00), a kad se proglasi pobednik da se dostavi kljuc >> kojim cemo desifrovati test datoteku i proveriti svoje i >> konkurentske programe). >Tada bi trebale dve prve nagrade za dve razlicite grupe resavaca: >jedna za najbrzeg programera, druga za najboljeg razbijaca sifre :) Ja ipak mislim da bi bila dovoljna jedna prva nagrada, ali bi se zadatak u startu resavao na dva sustinski razlicita nacina. Jedan bi bio normalno resavanje problema, a drugi razbijanje sifre i pravljenje programa IF <test1> then <resenje1>... , pa ko bude brzi, samim tim i bolji :)
algoritmi.118 embe,
deimos:(1.116) >> 1. Ako je komp u sredini polja ili na sredini strane >> onda sme da igra samo po sredini stranica, odnosno u >> centar dok je to moguce, a onda pod 3). >> 2. Ako je komp u uglu, onda mora da igra po uglovima, sve >> dok je to moguce , a onda po poljima udaljenim najmanje >> za dva, a zatim pod 3). >> 3. Komp igra bilo gde (ako se dodje do ovde onda je sigurno >> nereseno). Koliko sam razumeo ova pravila, sa njima se dobija SAMO korektno igranje. U u svakom slucaju ovo nisu najbolji potezi. Gde je tu anticipacija "mata" u dva poteza... vinkom:(1.112) ><>< Sto se tice takmicenja misljenja sam da bi trebalo i dalje da ><>< bude brzinsko. Takmicenje na duzi rok bile su 'Pitalice' u ><>< 'Racunarima'. Ne znam zasto se to takmicenje po drugi put ugasilo deimos:(1.116) <><> - Takmicenje traje od 12h u nedelju do 12h u npr. sredu. <><> - Rezultati u vidu tabele (1., 2., 3. ... mesto ) se <><> objavljuju izmedju srede i nedelje, kao i prilazu primedbe <><> i komentari ( za ovo bi stvarno mogla i posebna tema, Mozda bi se mogli pomiriti oni koji su za "brzanjac" i oni koji su za "sporac", a da pri tome ne budu osteceni ni jedni ni drugi. Iako bi se takmicenje odrzavalo nekoliko dana, pobednik bi bio onaj koji prvi posalje potpuno tacno resenje. A da bi se pomirila ta dva uslova, mora se napraviti jedno ogranicenje: U jednom danu, jedan takmicar moze da posalje SAMO JEDNO resenje; Ovime se ocigledno: - daje veca sansa onima koji nisu na Sezamu u odredjeno vreme, - i dalje moze objektivno, a ne subjektivno ocenjivati program, - olaksava posao Kontroloru, jer ce biti manji broj resenja, - povecava napetost i zanimljivost (morace se dobro testirati program kod kuce, a za to vreme neko moze da vas preduhitri, testiranje je neophodno, jer pravo na sledeci pokusaj se ima tek sledeceg dana) Pozdrav, EMBE
algoritmi.119 embe,
>>>> - Poslata resenja salju se u conf. da bi i ostali ucesnici, ako >>>> 'ziriju' promakne, mogli da ukazu na neispravnost nekog resenja. Pa i jesu. SVA resenja su se mogla prekontrolisati.
algoritmi.120 sjocic,
├> Moraćemo da ipak odložimo takmičenje za sledeću nedelju. U pitanju su ├> neki tehnički razlozi. U međuvremenu, evo je igrica iz prvog zadatka ali u Win varijanti. Mogućnosti 3x3, 3x3x3, 4x4x4, ali videćete već sami... xo.zip
algoritmi.121 space.ace,
--> Ovo je dobra ideja. 'Kontrolor' bi mogao, u slucaju da takmicenje Šta je ovo, 'Kontrolori' ponovo među nama? A baš smo ih se otarasili!!! ;)
algoritmi.122 deimos,
>> Koliko sam razumeo ova pravila, sa njima se dobija SAMO korektno >> igranje. U u svakom slucaju ovo nisu najbolji potezi. Gde je tu >> anticipacija "mata" u dva poteza... Ne, ovo su samo osnovni uslovi (po mojoj zamisli) receni srpskim jezikom, to bi se u realizaciji malo drugacije primenilo, mada bi i direktna primena ispunila uslove zadatka. >> >>>> - Poslata resenja salju se u conf. da bi i ostali ucesnici, ako >> >>>> 'ziriju' promakne, mogli da ukazu na neispravnost nekog resenja. >> Pa i jesu. SVA resenja su se mogla prekontrolisati. Tri stavke koje sam naveo trebale su da budu moj predlog za stalne propozicije takmicenja, a ova poslednja je tu zato sto su bili i predlozi da se resenja salju na mail, sto ne smatram 'sportski'. Inace, vise sam uzivao u razgledanju, testiranju i trazenju bagova u ostalim programima, nego sto sam uzivao dok sam pravio svoj program, pa bih voleo tako i da ostane... .dEiMoS.
algoritmi.123 vinkom,
> 1. Ako je komp u sredini polja ili na sredini strane > onda sme da igra samo po sredini stranica, odnosno u > centar dok je to moguce, a onda pod 3). > 2. Ako je komp u uglu, onda mora da igra po uglovima, sve > dok je to moguce , a onda po poljima udaljenim najmanje > za dva, a zatim pod 3). > 3. Komp igra bilo gde (ako se dodje do ovde onda je sigurno > nereseno). Algoritam nije bas najprecizniji, ali recimo: 1. C = 5 2. K = 2 (za prvi potez nista nije precizirano) 3. C = 1 4. K = 4 Po pravilu 1., a na osnovu odigranog 2. poteza 5. C = 9 Covek je pobedio Ili mozda: 1. C = 5 2. K = 1 3. C = 2 4. K = 7 Po pravilu 2., a na osnovu odigranog 2. poteza 5. C = 8 Covek je pobedio itd. Dakle, ispada da gore navedeni algoritam samo odigrava poteze koji i nisu nesto povezani. > Ovim metodom se dobija sledece: > - Program ne mora da prati covekove poteze Pokazali smo da program mora da prati covekove poteze, a posebno kad covek igra prvi. > - Program ne mora da prati svoje poteze Vec se u samom algoritmu kaze se da ako je komp. tu i tu igra tu i tu, pa ispada da mora da prati i svoj(e) poteze. Ova igrica koliko god bila mala ima i svoju strategiju koja i nije bas toliko jednostavna. Koliko god se heuristika cinila komplikacijom u sustini sve je reseno sa dve dvolinijske uzajamno rekurzivne procedure i petljom koja trazi maximum. Istina bilo je testiranja programa, ali nisu bile potrebne detaljne analize strategije igre. Ja bih posebno bio zadovoljan da nisam morao to resenje dodatno da friziram sa nekim IF-om, ali sam i ubedjen da bi spretnije izabrana heuristicka funkcija resila celi problem. U svakom slucaju sa heuristikom i program ima dusu. Sve u svemu ipak vodimo diskusiju u okviru teme :) >> Sto se tice takmicenja misljenja sam da bi trebalo i dalje da >> bude brzinsko. Takmicenje na duzi rok bile su 'Pitalice' u > Ne slazem se, jer nisu svi u mogucnosti da rezervisu > nedelju u 12-15h za takmicenje na Sezamu, jer Sezam nije obaveza, Sta bi po tebi bio kriterij po cemu bi se rangirali takmicari. Od njih imas samo EXE kod i vreme kada su ga poslali. Ako je kriterij ispravan program za ocekivati je da ce vise takmicara u duzem roku dati tacno resenje. Da ne kazem da neko moze skinuti necije resenje, preimenovati ga i poslati kao svoje. Ako kao dodatni kriterij uzmes vreme, opet ce biti osteceni oni koji nisu u igri od pocetka, tj. u istom PAD-u procitat ce i zadatak i resenje. Zato bi stvarno ovo takmicenje trebalo ostati brzinsko, a sami takmicari i da se malo zrtvuju ako zele da ucestvuju, a ako se ne moze i ne mora se svaki put ucestvovati. Iako mozda zvucim kontradiktorno i meni vise odgovara duzi rok, ali bi tada takmicenje bilo kao sto su nekad bile 'Pitalice'. Pa kad sam ih opet spomenuo da pitam galimpic-a zasto je to takmicenje ukinuto.
algoritmi.124 janko,
> Sta bi po tebi bio kriterij po cemu bi se rangirali takmicari. Od > njih imas samo EXE kod i vreme kada su ga poslali. Ako je kriterij Ovo je po meni i glavna slabost takmičenja. Jedino za takmičenja kod kojih nema interakcije (introi) ima smisla tražiti samo EXE. Dokazati ispravnost EXE programa je za bilo koji složeniji problem (dakle čim je reč o interakciji) najčešće praktično nemoguće.
algoritmi.125 deimos,
>> Algoritam nije bas najprecizniji, ali recimo: >> 1. C = 5 Nismo se bas najbolje razumeli, ali vec sam rekao da ga nisam direktno primenjivao... >> > - Program ne mora da prati svoje poteze >> Vec se u samom algoritmu kaze se da ako je komp. tu i tu igra tu i >> tu, pa ispada da mora da prati i svoj(e) poteze. Ako gledas tako, onda si u pravu, ali poenta je u tome da program ne prati sve svoje poteze kako bi nekim predefinisanim postupkom dobio coveka iz treceg ili petog potezana osnovu onog od pre dva kruga. >> Ova igrica koliko god bila mala ima i svoju strategiju koja i nije >> bas toliko jednostavna. Koliko god se heuristika cinila komplikacijom >> u sustini sve je reseno sa dve dvolinijske uzajamno rekurzivne Ima jedna zajednicka stvar za sve programere - svako od nas misli, i duboko je ubedjen, da je njegovo resenje naj-naj, a ostala su u najboljem slucaju ok, iako, uglavnom, niko od nas nije u pravu. (ovo nije uvek pravilo i nije upuceno samo tebi). Sve u svemu ipak vodimo diskusiju u okviru teme :) >> Sta bi po tebi bio kriterij po cemu bi se rangirali takmicari. Od >> njih imas samo EXE kod i vreme kada su ga poslali. Ako je kriterij 1. Tacnost 2. Brzina i velicina programa (efikasnost pri radu) 3. Funkcionalnost, preglednost, pristupacnost korisniku 4. Estetska vrednost programa 5. ... Moze jos toga da dodje konkurenciju. Zamisli ovako: imas ispit koji pocinje u 12h i traje do 15h. Skeledzija prevozi studente preo Morave u grupama od po 15 njih do fakulteta koji pocinju da rade cim stignu. Ko prvi od svih studenata uradi vise od 50% (dobije 6-icu), prolazi ispit, a ostali padaju, cak i ako jos nisu dosli na red kod skeledzije... apsurdno? Druga stvar bi bila da se skupe svi ucesnici na nekom mestu, pa da dobiju zadatke i da pocnu u isto vreme. E, onda je tri sata i vise nego dovoljno, a bilo bi jos bolje da vazi - ko prvi, a ovako... >> put ucestvovati. Iako mozda zvucim kontradiktorno i meni vise >> odgovara duzi rok, ali bi tada takmicenje bilo kao sto su nekad >> bile 'Pitalice'. Sta fali pitalicama? Sta mislis da su i pitalice bile brzinske? Verujem da ne bi trajale ni priblizno onoliko koliko jesu... .dEiMoS.
algoritmi.126 vinkom,
> Ima jedna zajednicka stvar za sve programere - svako od nas >misli, i duboko je ubedjen, da je njegovo resenje naj-naj, a ostala >su u najboljem slucaju ok, iako, uglavnom, niko od nas nije u pravu. >(ovo nije uvek pravilo i nije upuceno samo tebi). Nemoj da se ljutis, nisam hteo da kazem da je moje resenje bolje od resenja sa IF naredbama, vec da ne zaostaje za njima. > 1. Tacnost > 2. Brzina i velicina programa (efikasnost pri radu) > 3. Funkcionalnost, preglednost, pristupacnost korisniku > 4. Estetska vrednost programa > 5. ... Tacnost i brzinu ocekujem od vecine dospelih programa, a velicina programa bi neke takmicare u startu mogla izbaciti iz igre ako rade sa losim kompajlerima, a opet druge naterati da pisu programe u asembleru sto isto nije cilj takmicenja. Sto se tice ostalih navedenih kriterija mislim da oni spadaju u umetnicki dojam i da nisu bili cilj ovom takmicenju, a to je napraviti sto brze program koji resava problem. > Zamisli ovako: imas ispit koji pocinje u 12h i traje do 15h. >Skeledzija prevozi studente preo Morave u grupama od po 15 njih do Slazem se sa tobom da postoje problemi u vidu ogranicenog broja ulaza u sistem (iako sam se u vreme takmicenja bez problema logovao), preopterecenosti telefonskih centrala, dvojnika i slicnog. Mozda bi vreme svakog takmicara trebalo da se racuna od vremena njegovog prvog logovanja posle ostavljanja zadatka u konferenciju, a da ono mora biti maksimalno jedan sat posle ostavljanja zadatka. >>> odgovara duzi rok, ali bi tada takmicenje bilo kao sto su nekad >>> bile 'Pitalice'. > Sta fali pitalicama? Sta mislis da su i pitalice bile >brzinske? Verujem da ne bi trajale ni priblizno onoliko koliko jesu... Nisam 'Pitalice' spomenuo u negativnom kontekstu, vec naprotiv. Mislio sam da bi propozicije za to takmicenje bile iste kao i za pitalice, tj. slalo bi se resenje sa objasnjenjem i izvornim kodom programa. Licno mi je jako zao sto je to takmicenje ponovo prekinuto, kad god sam mogao ucestvovao sam i o njemu imam veoma pozitivno misljenje.
algoritmi.127 galimpic,
> bile 'Pitalice'. Pa kad sam ih opet spomenuo da pitam galimpic-a > zasto je to takmicenje ukinuto. Zato što na jesen idem u Kanadu, pa da na vreme stanemo dok se takmičenje još nije previše razvilo. Ta nova serija "Pitalica" je bila sasvim moja inicijativa i posao, pa ne znam da li bismo našli drugog da se bavi time. Sada umesto toga ide nova rubrika (koja još nije do kraja profilisana, btw) sa lepom osobinom da može da se prekine u svakom trenutku.
algoritmi.128 imangovski,
>> bile 'Pitalice'. Pa kad sam ih opet spomenuo da pitam galimpic-a >> zasto je to takmicenje ukinuto. > > Zato sto na jesen idem u Kanadu, pa da na vreme stanemo dok se takmicenje > jos nije previse razvilo. Ta nova serija "Pitalica" je bila sasvim moja > inicijativa i posao, pa ne znam da li bismo nasli drugog da se bavi time. > Sada umesto toga ide nova rubrika (koja jos nije do kraja profilisana, btw) > sa lepom osobinom da moze da se prekine u svakom trenutku. Kad smo vec kod Pitalica, jel ima neko resenje one 'cuvene' koju je postavio DR u kojoj se traze brojevi x i y:jedan covek je rekao 1.matematicaru x, a drugom y.Kad su se sreli prvi je rekao drugom da zna njegov broj, a na to je ovaj drugi odgovorio da sad i on zna oba broja. Text je verovatno drugaciji, pa ako ga neko zna neka ga okaci zajedno sa resenjem.
algoritmi.129 deimos,
>> Nemoj da se ljutis, nisam hteo da kazem da je moje resenje bolje od >> resenja sa IF naredbama, vec da ne zaostaje za njima. Ma ne ljutim se ja, kometar je bio vise samokriticki, a sto se tice vrednosti, da ja ocenjujem, sigurno bi vrednovao vise program koji je radjen putem heuristike nego onaj sa obicnim IFovima. .dEiMoS.
algoritmi.130 embe,
>> galimpic, 10.05.96. 09:49, 95 chr >> --------------------------------------------------------- >> Moracemo da ipak odlozimo takmicenje za sledecu nedelju. U pitanju su >> neki tehnicki razlozi. Vec je cetvrtak uvece, uoci te sledece nedelje a o takmicenju ni rec!? Da li ce se odrzati ili ne ?
algoritmi.131 galimpic,
> Vec je cetvrtak uvece, uoci te sledece nedelje a o takmicenju ni rec!? > Da li ce se odrzati ili ne ? Ne, ne, biće zadnje nedelje u mesecu kao i prošli put, dakle 26. maja. Pravila ista, u zavisnosti od broja učesnika prelazimo na nedeljno ili ostajemo gde jesmo.
algoritmi.133 dzakic,
** VANREDNI ZADATAK TAKMIČENJA U PROGRAMIRANJU ** Pošto je galimpić, moderator ove konferencije, ove nedelje zauzet, pripremili smo još jedan zadatak kao uvertiru za takmičenje koje će, nadamo se, postati tradicionalno. Propozicije su ovoga puta nešto drugačije jer je i zadatak malo (?) teži. Rešenje u izvornom kodu treba dostaviti korisniku 'zadaci'. Osnovni kriterijum za ocenjivanje je vreme za koje program pronalazi rešenje, a krajnji rok za dostavljanje rešenja je sreda, 22. maj, do 24.00h ˝ 5 min :). Vreme kada je zadatak poslat ne utiče na plasman. Autor najboljeg rešenja dobiće tromesečnu pretplatu na SezamNet i večnu slavu :)
algoritmi.134 dzakic,
> ** VANREDNI ZADATAK TAKMIČENJA U PROGRAMIRANJU ** Tekst zadatka biće obljavljen danas (nedelja, 19. maj) oko 12 časova.
algoritmi.135 dzakic,
** VANREDNI ZADATAK TAKMIČENJA U PROGRAMIRANJU ** Standardni set domina sastoji se od 28 komada od kojih svaki sadrži dva polja sa određenim brojem tačkica (od 0 do 6, gde je 0 prazna domina). Pločice su jedinstvene (nema dve domine sa istim rasporedom), numerisane, i sastoje se od sledećih kombinacija tačkica: Redni br. Raspored │ Redni br. Raspored domine polja │ domine polja ─────────────────────────┼───────────────────── #1 0/0 │ #15 2/3 #2 0/1 │ #16 2/4 #3 0/2 │ #17 2/5 #4 0/3 │ #18 2/6 #5 0/4 │ #19 3/3 #6 0/5 │ #20 3/4 #7 0/6 │ #21 3/5 #8 1/1 │ #22 3/6 #9 1/2 │ #23 4/4 #10 1/3 │ #24 4/5 #11 1/4 │ #25 4/6 #12 1/5 │ #26 5/5 #13 1/6 │ #27 5/6 #14 2/2 │ #28 6/6 Domine X/Y i Y/X su jedna ista domina. Komplet domina se može postaviti na sto tako da formira pravougaonu matricu veličine 7 x 8 polja (polje je jedna polovina domine). Primetimo da ređanje domina nije po pravilima igre, već apsolutno proizvoljno. Svaki raspored tačkica (brojeva) može se predstaviti najmanje jednom "mapom" domina. Mapa se sastoji od matrice iste veličine kao i struktura domina (7 x 8), takve da element matrice predstavlja redni broj domine postavljene na odgovarajuće mesto u pravougaonoj strukturi. Primer jedne pravougaone strukture i odgovarajuće mape rasporeda domina prikazan je na slici: Pravogaona struktura Mapa rasporeda domina koje domina (7 x 8): čine takvu strukturu: 6 6 2 6 5 2 4 1 28 28 14 7 17 17 11 11 1 3 2 0 1 0 3 4 10 10 14 7 2 2 21 23 1 3 2 4 6 6 5 4 8 4 16 25 25 13 21 23 1 0 4 3 2 1 1 2 8 4 16 15 15 13 9 9 5 1 3 6 0 4 5 5 12 12 22 22 5 5 26 26 5 5 4 0 2 6 0 3 27 24 24 3 3 18 1 19 6 0 5 3 4 2 0 3 27 6 6 20 20 18 1 19 Napisati program koji analizira dati raspored brojeva u pravougaonoj strukturi veličine 7 x 8 i daje pozicije domina iz seta kojima se taj raspored ostvaruje (mapu). Ulazna tekst datoteka "DOMINE.IN" nalazi se u tekućem katalogu i sastoji se od sedam linija sa po 8 celih brojeva u rangu (0..6), koje odslikavaju raspored polja (tačkica) u matrici. Brojevi su međusobno razdvojeni sa jednim ili više razmaka (SPACE). Garantuje se korektnost ulaznih podataka tako da nema potrebe obrađivati situacije koje mogu nastati usled loše zadatog ulaza (manjak podataka, brojevi van opsega i sl.) Korektan program treba da na izlazu prvo ispiše samu ulaznu matricu, a potom, razdvojenu jednom praznom linijom, mapu domina koje formiraju zadati raspored polja. Ukoliko ima više rešenja koje zadovoljavaju zadati problem odštampati ih razdvojene jednom praznom linijom. Na kraju treba odštampati ukupan broj rešenja. Primer korektnog ulaza i izlaza dat je ispod: "DOMINE.IN" 4 2 5 2 6 3 5 4 5 0 4 3 1 4 1 1 1 2 3 0 2 2 2 2 1 4 0 1 3 5 6 5 4 0 6 0 3 6 6 5 4 0 1 6 4 0 3 0 6 5 3 6 2 1 5 3 ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ Izlaz u "DOMINE.OUT" i na konzolu: 4 2 5 2 6 3 5 4 5 0 4 3 1 4 1 1 1 2 3 0 2 2 2 2 1 4 0 1 3 5 6 5 4 0 6 0 3 6 6 5 4 0 1 6 4 0 3 0 6 5 3 6 2 1 5 3 Mape domina za zadati raspored tačkica: 16 16 24 18 18 20 12 11 6 6 24 10 10 20 12 11 8 15 15 3 3 17 14 14 8 5 5 2 19 17 28 26 23 1 13 2 19 7 28 26 23 1 13 25 25 7 4 4 27 27 22 22 9 9 21 21 16 16 24 18 18 20 12 11 6 6 24 10 10 20 12 11 8 15 15 3 3 17 14 14 8 5 5 2 19 17 28 26 23 1 13 2 19 7 28 26 23 1 13 25 25 7 21 4 27 27 22 22 9 9 21 4 Postoje 2 rešenja za dati raspored. Rešenje u izvornom kodu dostaviti e-mailom na username "zadaci". U tekstu poruke napisati okvirno vreme za koje program nalazi rešenje (procesor, takt), a sors zakačiti kao datoteku uz poruku. Dozvoljeni su svi živi i mrtvi jezici (nemoj neko da je poslao u Algol-u ;), a blagu preporuku imaju C/C++ i Pascal. Kriterijum za ocenjivanje je vreme izvršavanja programa, a krajnji rok za dostavljanje rešenja je sreda, 22. maj, do 24.00h ˝ 5 min :) Vreme kada je zadatak poslat ne utiče na plasman. Autor najboljeg rešenja dobija tromesečnu pretplatu na SezamNet i večnu slavu :)
algoritmi.136 dzakic,
U sredu, 22. maja, u 24h istekao je rok za predaju rešenja zadatka iz vanrednog kola takmičenja u programiranju. Da se najpre podsetimo zadatka: Od standardnog seta domina, napravljen je pravougaonik dimenzija 7 x 8. Trebalo je napisati program koji će naći sve moguće rasporede domina kojima se može dobiti zadati raspored "tačkica". Red je i da otkrijemo poreklo ovog zadatka: Međunarodno takmičenje u programiranju (ACM) u okviru kojeg je odigran i čuveni meč Kasparov protiv Deep Blue računara. Dakle, zadatak nije bio nimalo naivan, tako da ne treba da čudi što je samo 5 rešavača uspelo da izađe na kraj sa njim! Doduše, naši učesnici su u takmičenju su bili u "nešto" boljem položaju jer su za zadatak za koji je predviđeno da se rešava najviše par sati, imali tri dana. Od 5 pristiglih rešenja, 4 su potpuno tačna, dok jedan program na našem referentnom testu, na kome je trebalo pronaći 90 rasporeda, nije našao sva rešenja (doduše ona koja je našao bila su tačna). Očigledno da je autor imao rešenje "u šaci" ali izgleda da je prevideo neke sitnice :) U svakom slučaju zaslužuje pohvalu... Uslovi su bili vrlo "liberalni", tako da smo ostavili potpunu slobodu u izboru programskog jezika, a kriterijum za rangiranje je bila brzina nalaženja (svih) rešenja. Moramo priznati da smo i pored ovoga očekivali uglavnom rešenja na C-u ili Pascalu, eventualno Fortranu, obzirom da je u pitanju bio rad sa matricama. Međutim, bilo je i iznenađenja... Moramo napomenuti da su svi programi pronalazili rešenja "munjevito" tako da je bilo vrlo nezahvalno naći najbrži program. U rešenjima su se mogle videti svakojake dosetke i optimizacije, ali jedan korisnik je otišao korak dalje, pa je uzeo "stvar u svoje ruke" ;) i napisao program u asembleru! Očigledno je da su optimizacije kompajlera dostigle zavidan nivo, ali vešt asembleraš će, naravno uz kvalitetan algoritam, napraviti čudo. Zbog toga, zasluženu pobedu ovoga puta odnosi Boris Daljević (biber) čiji je program pronalazio rešenja za red veličine brže od svojih konkurenata. Očigledno je da sledeći put moramo malo "skresati" izbor alata na više programske jezike, pošto nam je primarni cilj bio da pobedi najbolji algoritam a ne najbolja optimizacija. Međutim Borisova pobeda je čista kao suza, jer je on imao i vrlo efikasan algoritam, koji je ručno optimizovao, za šta je, priznaćete, potrebno izuzetno znanje i trud (pogledajte kako izgleda učitati matricu u asembleru!) Pored njega, skrenuli bismo pažnju na program Vinka Marinkovića koji je, rekli bismo, "najelegantniji" od svih pristiglih, a i vicešampion u brzini! Svi ispravni programi, u izvornom kodu, nalaze se u arhivi uz poruku. Na kraju da damo spisak programera koji su ukrstili koplja oko ovog problema. (u zagradi je dat indeks koji odslikava odnose brzina nalaženja rešenja). Programi su testirani na "golom" računaru sa RAM diskom gde je mereno za koje vreme pronalaze potrebnih 90 rasporeda domina. Na našem referentom računaru postigli su sledeće indekse brzine (poređenja radi, "prazan" C program ima indeks 100): 1. Boris Daljević (biber) 236 2. Vinko Marinković (vinkom) 1335 3. Miloš Hrkić (mhrkic) 2420 4. Milan Blagojević (embe) 3537 5. Vladimir Stojanović (deimos) (Nije pronašao sva rešenja) Pobedniku čestitke i nagrada, a ostalima više sreće u narednom (redovnom) kolu, koje će biti već u nedelju! Zadatke ponovo postavlja galimpic. P.S. Da ne bude sve ozbiljno pobrinuo se i jedan naš stari korisnik koga ipak nećemo pomenuti (sigurni smo da se šalio ;). Poruku prenosimo u celini: ---- ja sam rešijo zadatak,ali neznam kako da ga posaljem,jer je sve na papiri\u,neznam ni jedan programski jezik,ali sam veoma pametan,pa sam ga resijo usmeno.ako je ikako moguce,ja cu da dodjem da ti objasnim kako se radi,a vi da mi date nagradu.tata mi kaze da treba to da naplatim,ali ovaj put to poklanjam NAJBOLJEM BBSU NA SVETU!!!!?!???!!!!!! NABOLJI STE!!!! JESTEEEEEEEEE!!!!!! POGOTOVU CHAT!!!!! .S exit save Ctrl-Z Kraj Ctrl-O Pomoć , domine.zip
algoritmi.137 zvezdan,
>> Očigledno je da sledeći put moramo malo "skresati" izbor >> alata na više programske jezike Mislim da ovo ne bi bilo fer prema onima koji, kao pobednik ovog kruga takmičenja, programiraju na asembleru. Nije biber kriv što je njegov program drastično brži u odnosu na ostala rešenja. Čovek se ispraksovao na Spectrum-u gde nije ni mogao da razmišlja o C-u, a ne kao mnogi koji danas odmah u startu počinju da rade sa Visual C++ od 650 MB CD-a.
algoritmi.138 embe,
Hteo bih da cestitam vinkom-u, mhrkic-u (i deimos-u). Pobedniku biber-u se iskreno divim. Moram priznati da sam se nadao pobedi (ne bih ni ucestvovao da nisam), ali bolji su pobedili. Samo cu malo iskomentarisati takmicenje (u stvari, zatraziti dodatni komentar dzakic-a) - Pobednika su odlucivale milisekunde. Kako je to izmereno ? - Kojim kompajlerima su kompajlirani programi ? - Da li mogu da se dobiju i EXE verzije programa ? (nemam Paskal kompajler da bi to sam napravio, a neko nema C...) > Ocigledno je da sledeci put moramo malo "skresati" izbor > alata na vise programske jezike, posto nam je primarni cilj > bio da pobedi najbolji algoritam a ne najbolja optimizacija. Sto se ovoga tice, mislim da nije u redu. Ovo pokazuje da je dzakic malo potcenio mogucnosti programera i da nije verovao da ce neko napraviti program koji moze da uradi posao za nemerljivo vreme (pobednicki program biber-a). Ne bi trebalo nista "skresati", jer se time nece dobiti na objektivnosti. Mozda, pouceni ovim iskustvom, treba izabrati takav zadatak kod koga nece biti potrebe ili rezona da se pribegava asembleru, odnosno klasama u C++. Svako neka radi sa onime sto voli, a vi se potrudite za ravnopravnost takmicara, izborom pravog kriterijuma vrednovanja i pravog zadatka. Ovo jeste bio pravi zadatak, doduse nesto tezi nego sto se ocekivalo, ali kriterijum vrednovanja je bio nedefinisan. Bilo je jako zanimljivo, i neka se nastavi ovo takmicenje. Jos jednom cestitke biber-u,vinkom-u,mhrkic-u i deimos-u. Puno pozdrava, embe P.S. Hoce li ovo takmicenje u nedelju biti "ko-pre" ili nesto drugo ??
algoritmi.139 obren,
Pošto smo dzakic i ja zajedno testirali programe, evo "ukratko" da dam odgovor na neka problematična pitanja. Zak će se i sam sigurno javiti, no dobro... :) > - Pobednika su odlucivale milisekunde. Kako je to izmereno ? Evo kako je vršeno merenje pristiglih programa: Napravljen je BATCH fajl sledeće sadržine: cls timer %1>nul %1>nul ... %1>nul (10 puta) timer Prvo je provereno da li programi ispravno nalaze nekoliko "kratkih" rešenja koje su svi ispravno našli. Merenje je zatim vršeno na RAM disku, sa isključenim "turbom", na golom računaru (samo himem.sys) u seriji od 10 merenja i uzimanjem srednje vrednosti. Dakle, svi izvršni programi, ulazne i izlazne datoteke sve vreme su bili u memoriji, tako da brzina diska i video karte nije uticala na merenje. Sadržaj datoteke DOMINE.IN koja je bila ulaz za finalno merenje je bio sledeći: 0 1 5 5 0 5 2 2 1 6 2 4 6 3 2 5 1 4 1 3 6 3 5 3 2 4 5 4 2 6 1 0 4 5 6 4 5 1 3 4 6 0 0 0 2 3 1 1 3 0 0 2 3 4 6 6 Trebalo je da programi nađu 90 rešenja za ovaj raspored tačkica, što su učinili svi programi osim deimos-ovog, koga je izgleda ovaj ulaz malo zbunio. > - Kojim kompajlerima su kompajlirani programi ? C programi su kompajlirani pomoću Borland C v3.1 sa uključenom maksimalnom optimizacijom i 386 instrukcijama u small memorijskom modelu. Turbo Pascal programi su kompajlirani pomoću Borland Pascala 7.0, takođe sa maksimalnim optimizacijama. C programi su se nešto brže izvršavali prevedeni za OS/2 flat memorijski model, ali je vreme izvršavanja prilično variralo tako da smo odlučili da ipak vršimo merenja na goloj DOS mašini. Što se tiče .EXE programa, biće okačeni koliko sutra (ne zovem od kuće). Pozdrav, Dragan
algoritmi.140 dzakic,
> > bio da pobedi najbolji algoritam a ne najbolja optimizacija. > Sto se ovoga tice, mislim da nije u redu. Ovo pokazuje da je > dzakic malo potcenio mogucnosti programera i da nije verovao da > ce neko napraviti program koji moze da uradi posao za nemerljivo > vreme (pobednicki program biber-a). Upravo tako :) Našli smo interesantan zadatak koji, priznaćete, ako se rešava 'grubom silom' radi zaista dugo. Osnovna ideja je naravno odbaciti što je više moguće potencijalnih rešenja tokom pretrage kako bi se i vreme izvršavanja svelo na minimum. Priznajem da nisam imao mnogo vremena da posvetim zadatku, a cela ideja sa takmičenjem u programiranju mi se svidela, pa smo odlučili da problem postavimo ovde. Kriterijum je u osnovi trebalo da bude najbolja ideja, algoritam, ali smo bili svesni da se to teško može objektivno proceniti pa je zato tako i formulisan (nakraće vreme izvršavanja). Sva primljena rešenja zaista su prijatno iznenadila, posebno rešenje u asembleru. Meni lično je drago da je neko posvetio vreme asemblerskom rešavanju ovog zadatka, jer znam koliko je potrebno uložiti truda - čak više na obradu ulaza i izlaza nego na realizaciju samog algoritma. Ali, kao što rekosmo, biberova pobeda je čista kao suza i sa moje strane sve čestitke. > Mozda, pouceni ovim iskustvom, treba izabrati takav zadatak kod koga > nece biti potrebe ili rezona da se pribegava asembleru, odnosno > klasama u C++. Naravno, samo treba naći takav zadatak. Ako imate predloge kako propozicijama definisati što ravnopravnije uslove rešavanja, bilo bi lepo da ih čujemo. I ovim vanrednim zadatkom proverili smo u praksi koliko propozicija utiču na ishod. Nadam se da smo bliže onome što želimo da postignemo. > P.S. Hoce li ovo takmicenje u nedelju biti "ko-pre" ili nesto > drugo ?? Propozicije narednog takmičenja objaviće galimpić, dakle nastavak prepuštamo moderatoru. Pozdrav, Zak
algoritmi.141 biber,
>> ostala resenja. Covek se ispraksovao na Spectrum-u gde nije ni mogao Ipak je to bilo na Commodore 64 (uglavnom).
algoritmi.142 galimpic,
********************************** ** TAKMIČENJE U PROGRAMIRANJU ** ********************************** Pripremite se za drugo, redovno kolo u nedelju u 12.00h. Propozicije su u poruci 1.59.
algoritmi.143 biber,
>> Svako neka radi sa onime sto voli, a vi se potrudite za ravnopravnost E ova ti je na mestu! :)
algoritmi.144 obren,
Evo prevedenih programa koji su učestvovali na takmičenju... EMBE.EXE (BC 3.1) MHRKIC.EXE (BP 7.0) VINKOM.EXE (BP 7.0) BIBER.COM (A86 v3.22) U arhivi je i ulazna datoteka DOMINE.IN dominexe.zip
algoritmi.145 galimpic,
******************************************* TAKMIČENJE U PROGRAMIRANJU - Zadatak broj 2 ******************************************* Napraviti program koji za zadati broj prstenova rešava problem "Hanojskih kula" koji se sastoji u sledećem: Postoje tri stuba: A, B i C. Na Stubu A nalazi se zadati broj prstenova naslaganih prema veličini: prsten sa najvećim prečnikom nalazi se na dnu, a sa najmanjim na vrhu gomile. Cilj je prebaciti sve prstenove u istom rasporedu na prsten B, poštujući sledeća pravila: 1. U jednom potezu se može prebaciti samo jedan prsten sa vrha jednog na vrh drugog stuba. 2. U svakom trenutku na svakom stubu prstenovi moraju biti raspoređeni prema prečniku, tako da je najveći na dnu a najmanji na vrhu. Ulazne veličine: broj prstenova Izlazne veličine: tekstualni fajl POTEZI.TXT sledećeg sadržaja: - U prvom redu je zadati broj prstenova - Slede potezi oblika XY, u značenju sa stuba X na stub Y svaki potez u posebnom redu - U poslednjem redu nalazi se ukupan broj poteza. PRIMER: c:\>HANOJ.EXE Unesi broj prstenova: 3 c:\>TYPE POTEZI.TXT 3 AB AC BC AB CA CB AB 7 c:\>_ Zamišljeni početni izgled hanojske kule sa tri prstena: | | | === | | ===== | | ======= | | ------------------------------- A B C Zamišljeni završni izgled hanojske kule sa tri prstena: | | | | === | | ===== | | ======= | ------------------------------- A B C Uz zadatak je dat program koji proverava ispravnost fajla POTEZI.EXE Rešenja šaljite u obliku izvršnih DOS fajlova prikačenih uz poruku koja je odgovor na ovu poruku. Za detaljnije propozicije pogledajte poruku 1.59. provera.exe
algoritmi.146 galimpic,
Pošto sam kasnio 1 minut sa postavljanjem zadatka, za kaznu vam evo i rešenja. Jedini problem je što morate da provalite šifru ;) resenje.zip
algoritmi.147 galimpic,
Ko radi, taj i greši. U postavci piše: > Uz zadatak je dat program koji proverava ispravnost fajla POTEZI.EXE Treba, naravno, POTEZI.TXT
algoritmi.148 vinkom,
Evo da probamo hkule.exe
algoritmi.149 galimpic,
**** STOP **** vinkom je uspeo iz prve! Prvo da vidimo da li ima zalbi, pa mozemo malo da popricamo o resenju.
algoritmi.151 deimos,
>> 1.145 PCPROG.6:algoritmi >> galimpic, 26.05.96. 12:01, 1849 chr >> 1.148 PCPROG.6:algoritmi >> vinkom, 26.05.96. 13:21, 16 chr Time difference 1h 20min Ja lepo govorih da su propozicije krajnje ne-fer, ali niko me ne slusa. Ajde ti meni lepo reci u cemu je poenta takcmicenja? Zar mislis da ce ovo takmicenje zaziveti pored ovakvih pravila? A i zadatak je 'ubi boze' (za takmicenje u programiranju osnovaca za kvalifikacije na opstinsko takmicenje, a cak je i laksi od iks-oks za koji smo vec konstatovali da je prelak). Ako je bilo ljudi koji su uspeli da rese zadatak sa medjunarodnog takmicenja (ne racunam sebe) i to na vec poznat nacin, krajnje je glupo postavljati ovako lak zadatak. Daj lepo ko covek ozbiljan zadatak i ceni zadatak po kvalitetu, a ne po brzini pristizanja resenja (dzakicev kriterijum je bio odlican). Ja se logovao specijalno da vidim zadatak, kad, eto tamo i resenja... i to iz prve. Ako se nismo razumeli, ovo sto kazem je dobronamerno, jer meni je stalo do takmicenja, i zato ti ovo i govorim, a da mi je sve jedno ili da mi je samo malo manje stalo do njega, ovo ne bih ni napisao, vec bi jednostavno ignorisao poruke koje se ticu takmicenja i ne bih vise ni pokusavao da resim zadatak (ako se ovakva pravila nastave, kroz par kola ce to biti slucaj sa vecinom, jer znaju da ako je neko slucajno dobio vezu 1min pre njega, prakticno nema sanse da na vreme posalje resenje). A i krajnje je vreme da se otvori tema za takmicenje, jer je u ovoj temi konferencije vecina poruka u vezi istog, a za _algoritme_ prakticno nema mesta od diskusije. I jos jedna stvar, da me ostali ne bi preduhitrili konstatacijom - nije pitanje ko ce pobediti, vec je pitanje duha celog takmicenja, njegovog kvaliteta, zdrave konkurencije i fer pravila. Zao mi je, ali sam morao na ovako drastican nacin da dam svoje misljenje, jer pored onolike diskusije o pravilima, nisi nasao ni jedan valjan razlog da ucinis neki kompromis, a mislim da je bilo dosta razloga za to, jer se jako malo ljudi u potpunosti slozilo za navedenim propozicijama i tezinom zadataka. .dEiMoS.
algoritmi.152 embe,
>> Kriterijum je u osnovi trebalo da bude najbolja ideja, >>algoritam, ali smo bili svesni da se to tesko moze objektivno >>proceniti pa je zato tako i formulisan (nakrace vreme izvrsavanja). S obzirom na nacin testiranja programa to niste mogli. Ako je najposteniji kriterijum najefikasniji algoritam, a tu se mislim svi slazemo, onda je testiranje moralo biti drugacije. Naime, pustajuci moj program kroz Profiler, dosao sam do jednog podatka: Vreme potrebno za ulaz i izlaz iznosi: 98.6% (rad sa diskom i konzolom) i 96.1% (ako je u pitanju ram-disk, i bez konzole) ukupnog vremena izvrsavanja programa. Na prvi pogled razlika je previse mala, a ocigledan je dobitak na brzini (oko 2-3x za ovaj program) ? Odgovor je prost, dva su razloga za to: 1. enormno ucesce rada sa periferijama, 2. sam program se brze ucitava u memoriju i spreman je za ivrsavanje (oko 6x za program ove velicine, na mom racunaru) Pri ovome treba razbiti zabludu da ce rad sa periferijama biti brzi onoliko puta koliko je memorija brza od diska ! To vazi samo za ulaz i izlaz VELIKE kolicine podataka i malo poziva. Za malu kolicinu podataka i vise pozivanja ulaza i izlaza taj dobitak je mnooogo manji. Zakljucak je sledeci: Bez obzira na izvrsavanje programa sa ram-diska, uticaj rada sa periferijama je bio preko 90% na vreme izvrsavanja programa. Ovo se odnosi kako na program pisan u C++ tako i na dva programa pisana u Paskalu. Kod programa pisanog u asembleru to nije slucaj. Ispada, a vi me ispravite ako gresim, da su poredak odlucile brzine sledecih naredbi : - otvaranje i zatvaranje fajla - citanje i pisanje po fajlu - ispis na konzolu a koje smo bili prinudjeni da koristimo. Vreme izvrsavanja algoritma uopste nije tretirano! KAKO TESTIRATI (predlog) Videli ste da svi programi rade jako brzo. Onda se moralo pristupiti testiranju tacnosti. Pustiti 2,3,10.. primera, i uveriti se u to. E sad, dolazi ono najvaznije. Nije mi jasno kako i vi o tome niste razmisljali. Svaki program se sastojao od dela za ulaz-izlaz i samog algoritma. Definisete ulazne podatke u samom programu, pozovete algoritam 1000.... puta, (bez ulaza-izlaza) i razresite sve dileme o efikasnosti algoritma. Intervenciju biste mogli sasvim lako izvrsiti, za 3 minuta programerskog posla po programu. Tada biste mogli reci taj i taj algoritam je najbrzi. Mislim da bi to bilo korektno. >>Naravno, samo treba naci takav zadatak. Ako imate predloge kako >>propozicijama definisati sto ravnopravnije uslove resavanja, bilo bi >>lepo da ih cujemo. Propozicije treba da budu : najtacniji, najbrzi, najelegantniji (bas ovim redosledom) ALGORITMI (kao sto se zove konferencija), pa bilo oni pisani u Fortranu, Bejziku ili asembleru, svi moraju biti ravnopravni. To vas obavezuje na pronalazenje metoda za testiranje ALGORITAMA - iskljucivo. A takmicarima treba dati uslov da napisu program tako, da algoritam bude jedna kompaktna celina, koju vi mozete lako upotrebiti za testiranje. Bio sam opsiran, ali trazili ste predloge. Pozdrav EMBE P.S. Jos jednom, sve cestitke pobedniku biberu.
algoritmi.153 embe,
>>krajnje je glupo postavljati ovako lak zadatak. Daj lepo ko covek ozbiljan >>zadatak i ceni zadatak po kvalitetu, a ne po brzini pristizanja resenja >>(dzakicev kriterijum je bio odlican). Ja se logovao specijalno da vidim Potpuno si u pravu da je zadatak bio prelak. Ipak, svaka cast vinkomu na brzini. I ja sam resavao zadatak ali sam ga resio sa cetrdeset minuta zakasnjenja. Bio je laksi nego IKS-OKS jer je ovde bila u pitanju jedna obicna rekurzija i NISTA vise. Ko je krenuo na pravu stranu, mogao je zadatak da resi za otprilike sedam minuta. Ipak je dzakicev zadatak bio primereniji takmicenju. Najveci problem lezi na organizatoru takmicenja da izabere pravi zadatak. Mozda treba oformiti konzilijum za izbor i sastavljanje zadataka? Pozdrav, EMBE
algoritmi.154 mmarkovic,
> Potpuno si u pravu da je zadatak bio prelak. Ipak, svaka cast > vinkomu na brzini. I ja sam resavao zadatak ali sam ga resio sa > cetrdeset minuta zakasnjenja. Bio je laksi nego IKS-OKS jer je > ovde bila u pitanju jedna obicna rekurzija i NISTA vise. Ko je Nisam učesnik, više navijač;) Algoritam za Hanojske kule je veoma poznat. Ko je imao QL-a i na njemu Computer One Pascal, imao je kule kao primer sa čak grafički prikazanim rešenjem ( animacija prebacivanja prstenova ). Iako se slažem da je zadatak čak i lakši nego IKS-OKS ( uz poznavanje problema ili "nanjušivanje" rekurzije ), čini mi se da je ipak bolje izabran. Jedino mi se zaista ne sviđa sistem "ko prvi". Kažu stari ljudi, "na brzinu se samo muve love" :) Ovako, prvo besomučno kucate, a zatim besomučno zovete... P.S. U svakom slučaju, čestitke pobednicima i učesnicima u sva tri kruga
algoritmi.155 galimpic,
Moje rešenje koje je kao šifrovani ZIP fajl okačeno uz poruku 1.146 može se (posle skidanja) raspakovati komandom pkunzip resenje.zip -showdoyoudo Kao što su neki primetili, zadatak je bio lak, ali je algoritam za njegovo rešavanje zaista elegantan. Čudi me da je bilo potrebno i toliko vremena (1h i 20min) da neko pošalje odgovor.
algoritmi.156 galimpic,
Re: kritike propozicija takmičenja Gospodo, u pravu ste. Žalim što nisam odmah uvažio vaše mišljenje, ali sam smatrao da bi trebalo da prođe više od jednog kola za konačnu ocenu usvojenih pravila. Posle prvog zadatka mišljenja su bila podeljena, ali je sada jasno da sve mora da se menja iz korena. Od sada važe sledeće propozicije: - Zadatak se i dalje postavlja poslednje nedelje u mesecu, tačmo u podne. Sistemskih obaveštenja više neće biti, ali će biti ostavljena najava u temi algoritmi. - Rešenja se dostavljaju kao mail korisniku "zadaci", u obliku razumno komentarisanog sorsa (isključivo BASIC, C, C++ ili Pascal) i izvršnog fajla, sa napomenom o vremenu izvršavanja i konfiguraciji na kojoj je postignuto. - Krajnji rok za slanje rešenja je ponedeljak u ponoć (36 sati kasnije). - Kriterijum za ocenjivanje je sledeći: uzimaju se u obzir samo potpuno tačna rešenja u okviru kojih pobeđuje najkvalitetniji algoritam po subjektivnom utisku organizatora - moje malenkosti. Ako postoji više sličnih rešenja, pobednika određuje brzina izvršavanja. Nagrada za sada ostaje ista - mesec dana pretplate. - Rezultati, sa svim rešenjima i komentarom objavljuju se u utorak popodne. Napomene: * Videću sa upravom da li možemo da pređemo na nedeljni umesto mesečnog režima, s obzirom na nagradu. * Mislim da je izbor jezika dovoljan, jer obuhvataju najveći procenat programera. Mogu se naći pogođeni neki koji koriste Modulu-2, FORTRAN i slično, ali mislim da takvih i nema ovde, a iskomplikovalo bi celu situaciju. Asembler moram da izbacim iz konkurencije jer ovo od sada praktično postaje takmičenje algoritama, a asembler jednostavno nije zgodan za implementiranje algoritama, još manje za analizu i poređenje sa jezicima opšte namene. * Shodno ovim pravilima, zadaci će biti nešto teži, a dobro bi bilo da se posle povede rasprava o kvalitetu pojedinih rešenja, kako bismo najzad smanjili šum i opravdali naziv teme koju koristimo. Ipak, subjektivna odluka (koja će biti maksimalno moguće objektivna) o pobedniku je konačna. Pretpostavljam da se nekima ni ovo neće svideti, pa da vas čujemo.
algoritmi.157 space.ace,
--> Ja lepo govorih da su propozicije krajnje ne-fer, ali niko --> me ne slusa. Ajde ti meni lepo reci u cemu je poenta takcmicenja? --> Zar Potpisujem sve rečeno. Krajnje ne-fer!!!! SPA
algoritmi.158 obren,
> KAKO TESTIRATI (predlog) > Videli ste da svi programi rade jako brzo. Onda se moralo pristupiti > testiranju tacnosti. Pustiti 2,3,10.. primera, i uveriti se u to. > E sad, dolazi ono najvaznije. Nije mi jasno kako i vi o tome niste > razmisljali. Svaki program se sastojao od dela za ulaz-izlaz i > samog algoritma. Definisete ulazne podatke u samom programu, > pozovete algoritam 1000.... puta, (bez ulaza-izlaza) i razresite sve > dileme o efikasnosti algoritma. Intervenciju biste mogli sasvim lako > izvrsiti, za 3 minuta programerskog posla po programu. Tada biste > mogli reci taj i taj algoritam je najbrzi. Mislim da bi to bilo > korektno. Hmm, meni je recimo ta ideja izuzetno odbojna. Kao prvo, to je neovlašćeno intervenisanje po tuđem kôdu (ja ne bih dozvolio da mi neko prepravlja program da bi "merio brzinu"), a drugo, ko zna kako sve mogu biti napisani programi koji ˙rade˙ tačno! Tu se (verovatno) niko sem autora ne bi snašao... Oko vrednovanja prethodnog zadatka (domine) možda je bilo nekih propusta ali to je tek drugo kolo i treba utabati stazu. Mislim da je najbolja varijanta u slučaju vrlo bliskih rezultata na objektivnim testovima (tačnost i brzina), biranje najelegantnijeg rešenja. Na kraju krajeva, treba dati prednost onome ko piše jase, "lepe" i lako čitljive progame. Svi će kad tad doći u situaciju da treba da održavaju tuđi kôd, i tada će znati da cene trud uložen u pregledan i elegantan program. Sudeći po tvom rezimeu, ti bi to trebao najbolje da znaš. Problem kod ovog pristupa (elegancija rešenja) je subjektivnost, ali treba razmotriti ideju da i sami učesnici odlučuju u izboru pobednika? Takođe, mislim da rešenja treba da budu u izvornom kodu a ne .EXE, i da treba ograničiti jezike na jezike "najšire populacije" a to su C/C++, Pascal i BASIC. Čak i oni koji inače upotrebljavaju druge alate (Modula 2, Fortran i sl.) sigurno znaju i neki od navedenih jezika, a teško da će zadaci biti takvi da ih ovo jezici sputavaju da se izraze. Što se tiče asemblera, definitivno sam protiv njega u ovoj temi. Cilj ovog takmičenja (nadam se) nije materijalna korist, već da se razmrdaju vijuge, nešto nauči i stekne iskustvo. Mislim da je asembler prevaziđen u današnje vreme, naročiti za ovakve primene, a i kako će recimo vlasnik Amige ili Atarija naučiti bilo šta iz ASM sorsa za PC (i obratno)? Pozdrav, Dragan
algoritmi.159 ognjen,
)-> dileme o efikasnosti algoritma. Intervenciju biste mogli )-> sasvim lako izvrsiti, za 3 minuta programerskog posla po )-> programu. Tada biste mogli reci taj i taj algoritam je )-> najbrzi. Ne, ne i ne. Da si malo vise gledao izvorne kodove razlicitih programera, shvatio bi da to nije ni malo lako. Nekad su potrebni _sati_ da bi neko sa strane provalio kako algoritam radi. Zato se na svim svetskim olimpijadama i takmicenjima ne meri lepota samo glavnog algoritma, vec samo celokupna brzina programa u celini.
algoritmi.160 ognjen,
)-> tacna resenja u okviru kojih pobeduje najkvalitetniji )-> algoritam po subjektivnom utisku organizatora - moje )-> malenkosti. Sta znaci najkvalititniji algoritam, po tvom misljenju, naravno? Najbrzi? Najelegantniji? Najcistiji?
algoritmi.161 embe,
Ja>>> dileme o efikasnosti algoritma. Intervenciju biste mogli sasvim lako Ja>>> izvrsiti, za 3 minuta programerskog posla po programu. Tada biste >>Hmm, meni je recimo ta ideja izuzetno odbojna. Kao prvo, to je >>neovlasceno intervenisanje po tudem kôdu (ja ne bih dozvolio da mi neko >>prepravlja program da bi "merio brzinu"), a drugo, ko zna kako sve mogu >>biti napisani programi koji ˙rade˙ tacno! Tu se (verovatno) niko sem >>autora ne bi snasao... Ni meni samom se ne svidja da neko drugi vrsi izmene u kôdu, ali jos manje mi se svidja ideja o pausalnom ocenjivanju vrednosti algoritma na osnovu brzine CELOG programa. To bi bilo, kao kada bi se kvalitet jednog automobila merio potrosnjom goriva , ili njegovom brzinom, a ne izradom ili kvalitetom njegovih delova. Zato sam, u daljem tekstu mog komentara i bio napisao da program mora da bude tako napisan da algoritam bude kompaktna celina koja se moze zasebno analizirati. Jedna od analiza je i logicka analiza algoritma, ali po potrebi (vise dobrih resenja) mora se omoguciti i "testiranje motora na stolu", sto bi izuzetno lako moglo da se resi od strane takmicara, sa par #define -a u C-u, a za ostale jezike je verovatno isto tako jednostavno. Opet napominjem, sve se ovo odnosi na uporedjivanje kvaliteta priblizno dobrih algoritama, znaci, kada logicka analiza ne moze pouzdano da odgovori na pitanje ko je najkvalitetniji? >>citljive progame. Svi ce kad tad doci u situaciju da treba da odrzavaju >>tudi kôd, i tada ce znati da cene trud ulozen u pregledan i elegantan >>program. Sudeci po tvom rezimeu, ti bi to trebao najbolje da znas. Naravno, makar i po cenu "smanjene" brzine, uvek, UVEK, se mora pisati pregledan kôd. Pozdrav, EMBE
algoritmi.162 embe,
> Resenja se dostavljaju kao mail korisniku "zadaci", u obliku razumno > komentarisanog sorsa (iskljucivo BASIC, C, C++ ili Pascal) i izvrsnog fajla, > sa napomenom o vremenu izvrsavanja i konfiguraciji na kojoj je postignuto. Opet ce se meriti brzina ? Onda se potrudite da razlika izmedju prvog i poslednjeg bude veca od jedne milisekunde. :)) (naravno izborom zadatka) >> Videcu sa upravom da li mozemo da predemo na nedeljni umesto >> mesecnog rezima, s obzirom na nagradu. Mislim da bi jednom u DVE nedelje bilo sasvim dobro, jer: - imace se dovoljno vremena za pronalazenje prigodnih zadataka. - ako bude nedeljno, jos uvek ce trajati diskusija o prethodnom a vec ce se zadavati novi. - je dovoljno cesto. Pozdrav, EMBE
algoritmi.163 nenad,
> manje mi se svidja ideja o pausalnom ocenjivanju vrednosti algoritma > na osnovu brzine CELOG programa. Ako se ne varam zadatak je uključivao i čitanje i pisanje datoteke, kao i ispisivanje na konzolu. Jeste veći deo toga lakše izvesti u C-u nego u ASM-u, jeste lakše i "čistije" uraditi posao sa funkcijama nego sa jednom jedinom 'main' funkcijom i svim globalnim promenljivama (da ne govorimo o definisanju klasa i objektima), ali zato se mora platiti cena: startup kod, inicijalizacije, pozivanje funkcija, stek - uz pretpostavku da je kompajler savršen... Cilj je bio najbrži program, biber je napravio najbrži program. Napomenuo bih i da su prevodioci bili podešeni tako da generišu 386 kod, dok je biber-ov program bio (ako se ne varam) za XT. :) Jedni se bune što može ASM, drugi što neće ubuduće moći... Kako li bi tek naoštreni bili učesnici da je žiri rekao da je merio tako što je modifikovao programe zarad merenja... :)
algoritmi.164 deimos,
Sva nova pravila su ok, osim jednog: >>- Kriterijum za ocenjivanje je sledeci: uzimaju se u obzir samo potpuno >> tacna resenja u okviru kojih pobeduje najkvalitetniji algoritam po >> subjektivnom utisku organizatora - moje malenkosti. Ako postoji vise >> slicnih resenja, pobednika odreduje brzina izvrsavanja. Nagrada za sada Algoritam je bolji ako je brzi, zar ne ? Kriterijum ti je diskutabilan. Uzmi na primer sledeci kriterijum: Ucestvuje npr. 38 takmicara. Najbrzi algoritam dobija 38 poena, drugi 37... i tako dalje. Na te poene ti dodaj svojih 38/4, 38/5 i 38/6 poena po subjektivnom misljenju. Krajnji zbir odlucuje pobednika. Predlozio bih takodje i jednu malu konvenciju, kako bi se izbeglo pri testu merenje 'nebitnog' dela koda (dakle, onoga koji nije u direktnoj vezi sa algoritmom). Uz pomoc jednog malog C hedera koji sadrzi precizan tajmer (1/18.2 sec) i koji se lako konvertuje u Pascal, a ciji prototip prilazem uz poruku, program bi mogao da izgleda ovako: void main(void) { ... StartTimer(): Algoritam() StopTimer(); printf("Vreme izvrsenja: %d",ElapsedTime()); ... } Eto, nemam vise zameki :) A sto se tice cesceg takmicenja, delim misljenje embea da bi bilo najlepse da ide na svake dve nedelje. .dEiMoS. timer.h
algoritmi.165 galimpic,
> Opet ce se meriti brzina ? Onda se potrudite da razlika izmedju prvog > i poslednjeg bude veca od jedne milisekunde. :)) (naravno izborom > zadatka) Zahtev da se navede brzina je majušni problem za takmičara, a velika pomoć za mene da ne lupam glavu da li se program zaglavio ili treba da čekam XXX sekundi da se završi. To je u pitanju.
algoritmi.166 galimpic,
> Sta znaci najkvalititniji algoritam, po tvom misljenju, > naravno? Najbrzi? Najelegantniji? Najcistiji? Zavisi od problema. U principu, onaj koji ima najbolju mešavinu elegancije, brzine, efikasnosti i ostalih parametara. Kao i u književnoj kritici, na primer, ocena je subjektivna.
algoritmi.167 biber,
>> samog algoritma. Definisete ulazne podatke u samom programu, >> pozovete algoritam 1000.... puta, (bez ulaza-izlaza) i razresite sve >> dileme o efikasnosti algoritma. Intervenciju biste mogli sasvim lako >> izvrsiti, za 3 minuta programerskog posla po programu. Tada biste Hajde uradi to ako te ne mrzi, i okaci rezultate ovde. Znatizeljan sam.
algoritmi.168 galimpic,
************************************ TAKMIČENJE U PROGRAMIRANJU - 3. KOLO ************************************ Tačno u podne, u nedelju, 9. juna 1996. u temi "algoritmi" biće postavljen nagradni zadatak. Rešenja se šalju isključivo kao mail korisniku "zadaci" najkasnije do ponedeljka, 10. juna u ponoć (36 sati posle postavke). Rešenje treba da bude u obliku izvornog i izvršnog koda koji su kao fajlovi prikačeni uz mail poruku. U obzir dolaze samo BASIC, Pascal, C i C++. Najbolji program, po mišljenju moderatora dobija prvu nagradu - mesec dana gratis pretplate na SezamNet. Rezultati u utorak popodne. Srećno!
algoritmi.169 boko,
e jel zna neko opis TIF formata, i to nekompresovanog ? cini mi se da ima heder od 200-tinak byte-ova, pa ide raw slika ?
algoritmi.170 galimpic,
******************************************* TAKMIČENJE U PROGRAMIRANJU - ZADATAK BROJ 3 ******************************************* Dat je crtež u ravni sastavljen od više tačaka povezanih pravim linijama. Odrediti putanju kojom se crtež može nacrtati kontinuirano, bez prekida u putanji i prelaženja više puta preko iste linije. Ulaz je tekstualna datoteka ULAZ.TXT sledećeg sadržaja: 1. U prvom redu dat je ukupan broj tačaka - T (T>1) 2. U sledećih 2*T redova slede parovi X i Y koordinata svih tačaka redom (X i Y su prirodni brojevi) 3. Sledi broj linija kojima su povezane tačke - L 4. U sledećih 2*L redova slede redni brojevi parova tačaka koje su povezane, pri čemu su tačke numerisane po redosledu kojim su zadate Pretpostavlja se da će postavka uvek biti pravilna: nema dve tačke sa istim koordinatama, nijedna tačka ne ostaje izolovana niti se ijedna linija ponavlja. Međutim, redosled zadavanja tačaka i linija ne mora biti ni na koji način sortiran. Izlaz je JEDNO rešenje u obliku tekstualne datoteke IZLAZ.TXT u kojoj je navedena putanja po kojoj treba ići, u obliku rednih brojeva tačaka, svaka u posebnom redu. U slučaju da rešenje ne postoji, umesto izlazne datoteke na ekranu se izdaje obaveštenje o tome. Rešenja slati kao mail korisniku "zadaci". najkasnije do 10.06. u 24h. Uz poruku okačiti fajl sa izvornim i izvršnim kodom. PRIMER KOMENTAR ------ -------- C:\>TYPE ULAZ.TXT 5 ;ima 5 tačaka 1 ;X1 1 ;Y1 3 ;X2 1 ;Y2 itd 3 4 1 2 2 2 6 ;ima 6 linija 1 ;1. linija spaja tacke 1... 2 ;...i 2 3 ;2. linija spaja tacke 3... 5 ;...i 5 itd 4 1 1 5 4| 3 2 | / 5 3| / 4 | / 5 2| 4---5 C:\>RESI.EXE | | / \ C:\>TYPE IZLAZ.TXT 1| 1-------2 3 |___________ 5 1 2 3 2 1 5 4 1 C:\>_
algoritmi.171 boko,
BO■>e jel zna neko opis TIF formata, i to nekompresovanog ? BO■>cini mi se da ima heder od 200-tinak byte-ova, pa ide raw slika ? e nadjeno... \dos\info\tiff-50.zip :)
algoritmi.172 biber,
>> e jel zna neko opis TIF formata, i to nekompresovanog ? Postoji opis i TIF i GIF formata u sezamovim direktorijumima.
algoritmi.173 galimpic,
******************************************** REZULTATI 3. KOLA TAKMIČENJA U PROGRAMIRANJU ******************************************** Stigla su 4 rešenja, i to od korisnika mhrkic, deimos, embe i vinkom. Na žalost, embe je odmah diskvalifikovan jer je poslao samo .CPP fajl, a od .EXE ni traga. Svi korisnici su ispravno ignorisali podatke o koordinatama tačaka. Ova zamka je bila suviše providna za Sezamovce - položaj tačaka je, naravno, potpuno nebitan za rešenje zadatka. Ipak, deimos se potrudio pa je i te podatke iskoristio za opciju grafičkog prikaza. Vinkom je bio teorijski najviše potkovan: rešenje je imenovao kao Eulerov put koji postoji samo kada je broj tačaka sa neparnim brojem veza 0 ili 2. Iskoristio je i ostala teorijska uputstva koja se tiču nalaženja rešenja, pa je uspeo da ostavi najbolji utisak na žiri, tj. mene :). Dakle, *** VINKOM je pobednik i dobija mesec dana pretplate *** Ostalim učesnicima zahvaljujem na trudu i pozivam sve da učestvuju u narednom kolu koje će se odigrati u nedelju, 23. juna. Ako mislite da je zadatak bio previše lak, previše težak, dosadan ili imate kakav drugi razlog ili želite da komentarišete rešenja, tema 'algoritmi' je otvorena. resenja.zip
algoritmi.174 embe,
>>Stigla su 4 resenja, i to od korisnika mhrkic, deimos, embe i vinkom. >>Na zalost, embe je odmah diskvalifikovan jer je poslao samo .CPP fajl, a >>od .EXE ni traga. To uopste nije dobar postupak prema meni, s obzirom da se pravila menjaju iz nedelje u nedelju. Moj trud je omalovazen. Sta ce EXE ako imate source. Sta ce source ako trazite EXE ? Ovo nije medjunarodno takmicenje sa 1000 ucesnika. Ovo je takmicenje sa 4-5 ucesnika. Ovakvim nelogicnim postupcima, umesto prijateljskim i kolegijalnim pristupom nista se ne postize! Ajde da nisam poslao source, ali zato sto nisam poslao EXE ???? JAKO sam ljut. Pa prema cemu se ocenjuje ?? Milan.
algoritmi.175 galimpic,
> Ovakvim nelogicnim postupcima, umesto prijateljskim i kolegijalnim > pristupom nista se ne postize! Ajde da nisam poslao source, ali zato > sto nisam poslao EXE ???? JAKO sam ljut. Pa prema cemu se ocenjuje ?? Pravila su bila jasna i niko se nije bunio kada su predlozena. Bez obzira, ionako ne bi pobedio. To sto si diskvalifikovan ne znaci da nisam obratio paznju na tvoj program.
algoritmi.176 embe,
>>Pravila su bila jasna i niko se nije bunio kada su predlozena. Bez >>obzira,ionako ne bi pobedio. To sto si diskvalifikovan ne znaci da nisam >>obratio paznju na tvoj program. Uopste se ne bunim protiv pravila (sto bi neki rekli "zamenjuju se teze"), bunim se protiv treniranja strogoce. Sta to znaci diskvalifikovan? Zar nije moglo bez te kvalifikacije? Sto se tice pobede, znao sam da necu da pobedim, s obzirom da sam znao da negde postoji teoretsko objasnjenje ovog zadatka. Resio sam zadatak na najbolji nacin sto sam u tom trenutku znao, ali sam ga ipak resio. I sta znaci "ne znaci da nisam obratio paznju na tvoj program"? Zasto si tu odstupio od pravila ? Zasto se uopste "obraca paznja" na "diskvalifikovane" radove. Vinkom-u cestitam, stvarno je resio problem na najbolji nacin, i tu nema diskusije. Po mome misljenju, apsolutno najbolje resenje je pobedilo, a interesantno mi je bilo to sto smo svi koristili razlicite nacine. Zadatak je bio srednje tezine. Jedino mi je zao sto iz kola u kolo ucestvuje isti (mali) broj ljudi. Hteo bih da znam, da li samo mi resavamo ili resavaju i neki drugi ali ne mogu da rese? Pitam se, pitam se? Pozdrav, Milan.
algoritmi.177 mango,
> Ovakvim nelogicnim postupcima, umesto prijateljskim i kolegijalnim > pristupom nista se ne postize! Ajde da nisam poslao source, ali zato > sto nisam poslao EXE ???? JAKO sam ljut. Pa prema cemu se ocenjuje ?? Covek se opravdano ljuti. Zamisli kako je kad se mucis oko nekog zadatka par sati i onda ti zbog ovakvog necijeg postupka (mo-deratovog) ceo trud propadne. BTW, milane, stavljaj po red razmaka izmedju citata i odgovora.
algoritmi.178 dr.grba,
>> Covek se opravdano ljuti. Zamisli kako je kad se mucis oko nekog >> zadatka par sati i onda ti zbog ovakvog necijeg postupka (mo-deratovog) Za mislite vi da se mučite oko nekog projekta par meseci, pa direktor na kraju kaže "nije potrebno". E, kad to doživite, onda se upišite u listu strelaca: ovo je "pioniri maleni" (:
algoritmi.179 galimpic,
************************************ TAKMIČENJE U PROGRAMIRANJU - 4. KOLO ************************************ Tačno u podne, u nedelju, 23. juna 1996. u temi "algoritmi" biće postavljen nagradni zadatak. Rešenja se šalju isključivo kao mail korisniku "zadaci" najkasnije do ponedeljka, 24. juna u ponoć (36 sati posle postavke). Rešenje treba da bude u obliku izvornog i izvršnog koda koji su kao fajlovi prikačeni uz mail poruku. U obzir dolaze samo BASIC, Pascal, C i C++. Najbolji program, po mišljenju moderatora dobija prvu nagradu - mesec dana gratis pretplate na SezamNet. Rezultati u utorak popodne. Srećno!
algoritmi.180 galimpic,
******************************************* TAKMIČENJE U PROGRAMIRANJU - ZADATAK BROJ 4 ******************************************* Ulaznom datotekom ULAZ.TXT zadat je lavirint veličine 19*19 polja. Svako polje predstavljeno je simbolom ' ' (blanko) što predstavlja prolaz ili '*' (zvezdica) koja označava zid. Prolazi su uvek debljine 1, a sva ivična polja lavirinta su zidovi, osim levog polja gornjeg zida (drugog znaka u datoteci) i desnog polja donjeg zida (predzadnji znak u datoteci, ne računajući oznaku novog reda). Odrediti bar jednu putanju kojom se može, pošavši od gornjeg levog ulaza doći do izlaska iz lavirinta na suprotnoj strani. Putanja treba da bude data kao redosled pravaca sveta (N, S, E ili W) kojima treba ići do prve raskrsnice ili zida. Na svakom mestu prateći trenutni pravac gde se može skrenuti i drugim pravcima ili udara u zid, potrebno je dati novu oznaku pravca. Početni podrazumevajući pravac na jug ne treba navoditi. Izlaz je JEDNO od rešenja u obliku tekstualne datoteke IZLAZ.TXT u kojoj je navedena putanja po kojoj treba ići u jednom redu. U slučaju da rešenje ne postoji, umesto izlazne datoteke na ekranu se izdaje obaveštenje o tome. Rešenja slati kao mail korisniku "zadaci". najkasnije do 24.06. u 24h. Uz poruku okačiti fajl sa izvornim i izvršnim kodom. PRIMER (u postavku je ucrtana i putanja sa potezima radi jasnoće rešenja) ------ C:\>TYPE ULAZ.TXT *|***************** *S * * * *|********* ***** * *E---S* * * * * *****|* *** *** * * * *S * ** * * *S---W** * *|*** * * * **** * *|* * **** * ** * * *|* * * ** * * *|* ******** ** * * *E----S* * ******|* * * ** * * * S-WW* * * ** * * * *|* ********* * * * *|* * * * *|****** ****** * * *E------E------S* *****************|* C:\>RESI.EXE C:\>TYPE IZLAZ.TXT SESSWSESWWSEES C:\>_
algoritmi.181 galimpic,
******************************************** REZULTATI 4. KOLA TAKMIČENJA U PROGRAMIRANJU ******************************************** Ovaj put su stigla tri rešenja, i to od korisnika embe, obren i vinkom. Najlepše rešenje (po meni) ponudio je obren koji dobija mesec dana gratis pretplate. Izvorni kod sva tri rešenja nalazi se u datoteci uz ovu poruku. Pošto je već postalo simptomatično da samo nekoliko istih korisnika iz kola u kolo učestvuje na takmičenju, moraću da najavim njegovo gašenje u slučaju da se nešto ne promeni sledećeg puta. Zadatak će biti lakši, pa pozivam sve Sezamovce da šalju rešenja. Vidimo se za 2 nedelje! res4.zip
algoritmi.182 obren,
> Ovaj put su stigla tri rešenja, i to od korisnika embe, obren i > vinkom. Najlepše rešenje (po meni) ponudio je obren koji dobija > mesec dana gratis pretplate. Rešenje je bazirano na rekurzivnom probijanju kroz "hodnike" u sva četiri moguća smera. Znači krene se od ulaza na jug, i proba se prolaz na onu stranu sveta na kojoj nema zida. U slučaju da se udara u zid, ili put može da se grana (testira se brojanjem polja bez zida oko trenutne pozicije) pamti se marker (S-W-E-N) kao naznaka daljeg smera. Da kažem još da sam se dvoumio između ovog rešenja i štosa sa držanjem uz levi (desni) zid. Ipak, učinilo mi se da je ovo rešenje elegantnije i primereno dimenziji problema. > Pošto je već postalo simptomatično da samo nekoliko istih korisnika > iz kola u kolo učestvuje na takmičenju, moraću da najavim njegovo > gašenje u slučaju da se nešto ne promeni sledećeg puta. Zadatak će > biti lakši, pa pozivam sve Sezamovce da šalju rešenja. Vidimo se za > 2 nedelje! Ne znam šta je razlog za mali broj učesnika, najverovatnije ispitni rokovi, kraj školske godine, prijemni i sl. Zadaci su u zadnja dva kola bili po mom mišljenju prilično zanimljivi za rešavanje (za razliku od Hanojskih kula). Šteta bi bilo da se gasi... Što se tiče težine, možda treba da postoje dve-tri kategorije zadataka? Treba dati šansu i nekim mlađim učesnicima, za koje su možda ovi zadaci preteški... Kao mali podstrek nastavku takmičenja, poklanjam svojih mesec dana u fond nagrada za sledeće kolo. Znači ili neka pobednik dobije 2 meseca, ili dva najbolja rešenja po mesec dana, svejedno.
algoritmi.183 mango,
> Ovaj put su stigla tri resenja, i to od korisnika embe, obren i vinkom. Pa naravno da su stigla 3 resenja kad si iskljucio biber-a. Inace bi stigla cak cetiri;)
algoritmi.184 hercog,
Ima li ko algoritam ili source nekog programa za pretraživanje težinskog grafa? Sale
algoritmi.185 pedjak,
> Ima li ko algoritam ili source nekog programa za pretraživanje > težinskog grafa? Šta ti konkretno treba, mininalna dužina puta...?
algoritmi.186 mbasta,
=> Hanojskih kula). Steta bi bilo da se gasi... Sto se tice tezine, mozda => treba da postoje dve-tri kategorije zadataka? Treba dati sansu i nekim => mladim ucesnicima, za koje su mozda ovi zadaci preteski... I ja se slazem da ima vise kategorija zadataka (neznam bas puno o programiranju, ali brzo ucim). => Kao mali podstrek nastavku takmicenja, poklanjam svojih mesec dana u => fond nagrada za sledece kolo. Znaci ili neka pobednik dobije 2 meseca, => ili dva najbolja resenja po mesec dana, svejedno. Svaka ti cast za poklon. :) To se ceni! P.S. Predlozio bih da se takmicenje cesce odrzava (sa laksim zadacima naravno),a nagrade i nisu tako vazne (10 din. manje-vise). Pozdrav, Mbasta.
algoritmi.187 sasab,
> Pošto je već postalo simptomatično da samo nekoliko istih > korisnika iz kola u kolo učestvuje na takmičenju, moraću da > najavim njegovo gašenje u slučaju Pa "gašenje" baš ne mora, ali mogla bi da se otvori nova tema. Ovako je pad opterećen iako me takmičenje ne zanima (nema se vremena a i sa godinama takmičarski duh opada:). Moglo bi posle završetka "kola" postavka zadatka, pobednik i uz poruku datoteka sa rešenjima u temu algoritmi (nikad ne znaš šta će zatrebati, a topla voda je otkrivena već n! puta), ali sve ostalo (diskusije o težini zadatka, prigovori, čestitke pobedniku i sl.) u drugu temu. Bogi
algoritmi.188 mango,
> Resenje je bazirano na rekurzivnom probijanju kroz "hodnike" u sva > cetiri moguca smera. Znaci krene se od ulaza na jug, i proba se prolaz Zar je bilo moguce zadatak uraditi i na neki drugi nacin?
algoritmi.189 hercog,
@> Šta ti konkretno treba, mininalna dužina puta...? Može i to, može i vreme (ako se zna brzina)... Sale
algoritmi.190 obren,
> Zar je bilo moguce zadatak uraditi i na neki drugi nacin? Kao što sam (doduše šturo) napomenuo, moguće je i držati se "slepo" jedne strane zida, pa ga pratiti ma gde on skrenuo. Evo, malo sam grafički dočarao kako bi izlgledalo kretanje na ovaj način... ulaz : ████ │ ██████████████ ██ ┌─┘ ██ ██ │ ████ ██ └─>─┐ ██ ██████ │ ██ ██ ┌───┘ ██ │┌──>───┐ ██ ││ ████ │ ██ └┘ ██ ┌─┘ ████████ : Posle konačno mnogo ;) tumaranja sigurno dolaziš do izlaza. Probaj recimo na onom lavirintu koji je galimpic dao kao primer, ali pre toga uradi search & replace '*' sa '█' da bi se lakše snašao. Međutim, ima jedno ali: Iako sigurno izlaziš napolje, dobijaju se vrlo "tupave" putanje, (prođeš istim pravcem u dva smera jer si okrenuo u nekom ćorsokaku) pa treba filtrirati koordinate putanje da bi izlaz bio u traženom formatu. Zato je rekurzivno rešenje znatno lepše i primerenije ovom konkretnom problemu.
algoritmi.191 maksa,
>> Zar je bilo moguce zadatak uraditi i na neki drugi nacin? Na razne. Na pr. preko matrice susednosti grafa (Dijkstra, Warshall), zatim na način opisan u knjizi Diskretna Matematika, Dragoša Cvetkovića, i sl. Prolaznost i najkraći put kroz graf (na šta se svodi problem sa lavirintom, koji se u matematici zove planarni digraf) je dosta obrađivan. Za neke moje potrebe imam implementirano rešenje iz pomenute knjige, al' sam kasno video zadatak i nisam stigao da ga isčupam iz objekata i "prepevam". Primedbica: nije OK što ste izbacili asm iz takmičenja, čime ste automatski isključili korisnika 'biber'. Ako čovek stvarno sve svoje piše u asembleru onako brzo i efikasno, onda ga treba čuvati kao nacionalno bogatstvo. :)
algoritmi.192 embe,
>> Posto je vec postalo simptomaticno da samo nekoliko istih korisnika >> iz kola u kolo ucestvuje na takmicenju, moracu da najavim njegovo >> gasenje u slucaju da se nesto ne promeni sledeceg puta. Zadatak ce >> biti laksi, pa pozivam sve Sezamovce da salju resenja. Vidimo se za >> 2 nedelje! I meni je jako zao sto su sada pristigla samo tri resenja. Mozda bi se moglo pametovati o uzrocima ovako slabog odziva, ali situacija je bila takva od samog pocetka. Naime broj ucesnika je bio ako se ne varam: 1.kolo(X-Oks) - 4 , 2.kolo(vanredno-domine) - 5, 3.kolo (Hanojske kule)- 1 (super brzi vinkom), 4.kolo(linije)-4 i 5.kolo(lavirint)- 3. Pametovati se moze samo o sudbini takmicenja. Prvo, smatram da nije dobro da se takmicenje ugasi. Drugo, mislim da je potrebno formirati novu temu "takmicenje" u ovoj konferenciji. Trece, potrebno je iz temelja rekonstruisati pravila takmicenja (vec smo ih menjali, ali tim koji NE dobija...). Promene se nece desiti same od sebe. Po mom misljenju: - izmene se ne bi odnosile samo na kriterijum ocenjivanja radova, jer smatram da uprkos nedostacima subjektivne procene radova, ipak je to najobjektivniji nacin za vrednovanje. Do sada nije bilo nikakvih primedbi na rad moderatora po tom pitanju, pa smatram da ovo treba da ostane. - treba promeniti sistem takmicenja, tako da se, recimo jednom mesecno objave zadaci (vise zadataka odjednom - npr. 5-6) razlicitih tezina, i za svaki zadatak u skladu sa njegovom tezinom, koeficijenti bodovanja. Posle dve nedelje, zadaci bi se pregledali, moderator bi svakom resenju dodeljivao bodove (0 - 5), mnozio sa koeficijentom tezine, i dobijao bi se zbirni rezultat za svakog takmicara. Sustina ovoga je pravljenje lige programera, koje bi trajalo recimo tri ili cetiri meseca. Posle svakog mesecnog tamicenja proglasavao bi se pobednik ("nosilac zute majice"), a nagrade bi mu bile: moralne prirode - pohvala i ucestvovanje u pripremi i pregledanju sledeceg kompleta zadataka (naravno zajedno sa moderatorom) i simbolicno "materijalne" prirode - pretplata. Naravno on ne bi ucestvovao u takmicenju kada zadaje zadatke. Liga bi isla dalje, pri cemu, da pobednici pojedinih takmicenja ne bi bili hendikepirani, osnovni kriterijum za plasman bio bi kolicnik ukupnih poena i broja odrzanih "utakmica" kojima je prisustvovao. Ukupni pobednik je onaj ko je ucestvovao na pola ili vise takmicenja a ima najbolji gorepomenuti kolicnik. Na kraju, ne mogu da odolim, moram da dam jednu digresiju. Za vreme od 36 casova, u vote za vic meseca, glasa 3-6 ljudi. Za 15 dana, javi se 30-60 ljudi. A mnogo je lakse glasati za vic meseca nego resavati zadatak. Znaci, nerealno je ocekivati da ce u takmicenu ucestvovati vise od 3-6 ljudi ma kako laki zadaci bili. Resenje je u produzenju roka za slanje resenja. To je jasno. Nadam se da ovde postoje ljudi kojima je stalo do nastavljanja takmicenja u programiranju. Meni je stalo. Izvinjavam se zbog opsirnosti. Pozdrav, Milan.
algoritmi.194 embe,
>> Ovaj put su stigla tri resenja, i to od korisnika embe, obren i >> vinkom. Najlepse resenje (po meni) ponudio je obren koji dobija >> mesec dana gratis pretplate. Obrenu cestitam, moj algoritam je bio slican njegovom pa mi se zato svidja kako razmislja :))))) (sala mala) Svaka cast Obrenu i za onaj lepi gest sa svojom nagradom. Pozdravljam i starog rivala vinkom-a koji je opet bio na nivou. A sada nesto o samom zadatku. Ne znam da li je to bilo namerno ali zadatak je bio skoro POTPUNO isti kao prethodni (linije). Da li je to previd ili... Naime, sa slicnom organizacijom podataka (koja je ipak najvazniji deo svakog algoritma) mogao se resiti i jedan i drugi zadatak, a cilj je bio nesto modifikovan ali nedovoljno razlicit. Kod linija, svaki cvor je mogao da ima N veza sa drugim cvorovima, a ovde maksimalno 4, kod linija se moralo proci kroz sve cvorove a ovde, od vec zadatog cvora, do zadatog cvora. Znaci, razlike su samo u kriterijumu zavrsetka i u tome sto je broj veza u drugom zadatku bio fiksiran. Ne znam sta misle ostali, ali potenciranje na _igri_zasnovanim_ zadacima moze da dovede do monotonosti. Pozdrav, Milan.
algoritmi.195 mbasta,
=> odrzanih "utakmica" kojima je prisustvovao. => Ukupni pobednik je onaj ko je ucestvovao na pola ili vise => takmicenja a ima najbolji gorepomenuti kolicnik. Potpuno se slazem sa tobom. => Izvinjavam se zbog opsirnosti. Nemas zasto. Sve sto si napisao je vredno potrosenog vremena. Pozdrav, Mbasta.
algoritmi.196 cozymc,
Nikakvo gasenje takmicenja ne dolazi u obzir, u toku je ispitni rok(ovi). Imam resenje, ali nisam stigao da ga posaljem jer se po Marfiju necete ulogovati pet minuta pre 12!
algoritmi.197 biber,
>> pobednik ("nosilac zute majice"), a nagrade bi mu bile: moralne >> prirode - pohvala i ucestvovanje u pripremi i pregledanju sledeceg Pre bih rekao da u ovom grmu lezi zec. Naime kad bi nagrade bile jace verujem da bi daleko vise ljudi ucestvovalo. Ipak tesko da tako nesto moze Sezam da uradi samostalno. Dakle ne bi bilo lose da u takmicenje umesa prste neki sponzor. I to neko ko bi imao neke koristi od toga. Npr neka firma koja se bavi izradom programa. Mozda bi joj se isplatilo da prati takmicenje i primi nekog mladog i kvalitetnog programera pod svoje okrilje. Koliko vidim na internetu (prateci 3d animaciju) cesto firme same organizuju takmicenje u animaciji, uz velike nagrade. To naravno ne rade iz nakih altruistickih pobude, vec da bi otkrila potencijalne saradnike...
algoritmi.198 biber,
>> zadatak je bio skoro POTPUNO isti kao prethodni (linije). Da li je to A kad malo razmislis slican je i sa "dominama". Na kraju krajeva sva racunarska tabacenja sa svode na rekurziju. >> Ne znam sta misle ostali, ali potenciranje na _igri_zasnovanim_ zadacima >> moze da dovede do monotonosti. Vidis meni mi bili interesantni zadaci kao sto je bilo jedno pitanje postavljeno valjda u ovoj temi. Neko je pitao za algoritam sencenja trougla, pod uslovom da se zna intenzitet osvetljenja temena. (ovo pisem po secanju, mozda gresim, ali kao zadatak mi deluje zanimnjivo)
algoritmi.199 dr.s,
/* ste automatski iskljucili korisnika 'biber'. Ako covek stvarno /* sve svoje pise u asembleru onako brzo i efikasno, onda ga treba /* cuvati kao nacionalno bogatstvo. :) Raritet, bre! Mada znam jos neke 'asemblerase' kojima bas i nije do takmicenja. :) (ogradjujem se od necije pomisli da sam ja taj; nisam! O:))
algoritmi.200 hercog,
@> Ima li ko algoritam ili source nekog programa za pretraživanje @> težinskog grafa? @> @> Sale
algoritmi.201 embe,
Ja>>> pobednik ("nosilac zute majice"), a nagrade bi mu bile: moralne Ja>>> prirode - pohvala i ucestvovanje u pripremi i pregledanju sledeceg Ti> Pre bih rekao da u ovom grmu lezi zec. Naime kad bi nagrade Ti> bile jace verujem da bi daleko vise ljudi ucestvovalo. E, ja stvarno ne mislim da je osnovni razlog malog odziva - mala nagrada. Mislim da su "zec i grm" u tome sto takmicenje nije dovoljno atraktivno i sto je rok za slanje resenja kratak. Na kraju krajeva, programeri su toliko sujetni i ljubomorni na svoje znanje (u pozitivnom smislu), i zeljni dokazivanja, a u praksi imaju malo prilika za dokazivanje, da jedva cekaju da se dokazu i dobiju priznanje za svoje umece. Materijalna satisfakcija je sasvim nebitna u procesu dokazivanja. Naravno potrebno ih je zainteresovati lepim i razlicitim zadacima. Takodje, ako je rok za slanje dovoljno dug, imace vremena da daju najbolje od sebe i s pravom se nadaju da ce biti uspesni takmicari. Da sam bar delimicno u pravu, govori i cinjenica da si i Ti ucestvovao u takmicenjima, sto znaci da nisi bio animiran nagradom, vec si takmicenje shvatio kao izazov. Ne mislim da ovde postoji i jedan "teski profesionalac" koji zbog niskih nagrada ne zeli da ucestvuje. S obzirom da na drugim mestima nema takmicenja na kojima bi se dokazali, oni ostaju anonimni, sto je suprotno programerskom duhu. Pozdrav, Milan.
algoritmi.202 pedjak,
> Ž> Šta ti konkretno treba, mininalna dužina puta...? > Može i to, može i vreme (ako se zna brzina)... Ovako, algoritam zvani Minimal, daje minimalnu dužinu puta između dva čvora u grafu. Na osnovu poznate strukture grafa formira se njemu odgovarajuća matrica susednosti, vrednost elementa na poziciji (i,j) je u stvari težina grane između čvora i i j. Matrica susednosti koja se ovde koristi se dodatno modifikuje, tako što se svi elementi čija bi vrednost trebala da bude nula (čvorovi nisu povezani), zamenjuje nekom velikom vrednošću, teorijski sa beskonačno. Na tako dobijenu matricu primeni se sledeći algoritam: for i = 1 to n for j = 1 to n for k = 1 to n C(i,j) = min (C(i,j), C(i,k)+C(k,j)) endfor endfor endfor gde je C matrica susednosti, n broj čvorova, a funkcija min vraća manju vrednost od dve. Kao rezultat u matrici C na poziciji (i,j) se pojavljuje minimalna dužina puta između čvorova i i j, ili beskonačno (tj. ono što smo proglasili beskonačnim) , ako čvorovi nisu povezani. Ovaj metod _ne daje_ listu čvorova koji se nalaze na minimalnom putu. Ovako nešto daje Dijkstra algoritam. Ako ti ovo gore ne radi posao, objasnićemo i ovo :) pedja
algoritmi.203 hercog,
@> Ovaj metod _ne daje_ listu čvorova koji se nalaze na minimalnom @> putu. Ovako nešto daje Dijkstra algoritam. Ako ti ovo gore ne radi @> posao, objasnićemo i ovo :) Trebala bi mi i lista čvorova na minimalnom putu... Sale
algoritmi.204 biber,
>> shvatio kao izazov. Ne mislim da ovde postoji i jedan "teski >> profesionalac" koji zbog niskih nagrada ne zeli da ucestvuje. Pa sad da li kod nas uopste ima profesionalaca u racunarskim poslovima... Svi pomalo rade prelom, dizajniraju u korelu, crtaju u autokedu, programiraju u kliperu... E sad zamisli tako nekoga koga ceka neki projekt koji na kraju krajeva donosi neki novac, a on treba da se zabavlja sa zadacima? Ne shvati pogresno, lepo je ucestvovati. Ali kad bi nagrada bila odgovarajuca zaradi na nekom od gore pobrojanih poslica (a to nije mnogo), vise ljudi bi imalo motiva da ucestvuje u takmicenju.
algoritmi.205 spantic,
> Pa sad da li kod nas uopste ima profesionalaca u racunarskim > poslovima... Svi pomalo rade prelom, dizajniraju u korelu, crtaju > u autokedu, programiraju u kliperu... Veruj da ima. Pogotovo nemaš stavku crtaju pomalo u AutoCad-u. Na prvi pogled se razlikuje rad profesionalca i amatera, pogotovo svaštara.
algoritmi.206 galimpic,
************************************ TAKMIČENJE U PROGRAMIRANJU - 5. KOLO ************************************ Tačno u podne, u nedelju, 7. jula 1996. u temi "algoritmi" biće postavljen nagradni zadatak. Rešenja se šalju isključivo kao mail korisniku "zadaci" najkasnije do ponedeljka, 8. jula u ponoć (36 sati posle postavke). Rešenje treba da bude u obliku izvornog i izvršnog koda koji su kao fajlovi prikačeni uz mail poruku. U obzir dolaze samo BASIC, Pascal, C i C++. Najbolji program, po mišljenju moderatora dobija prvu nagradu - mesec dana gratis pretplate na SezamNet. Rezultati u utorak popodne. Srećno!
algoritmi.207 omega,
Iz tehnickih razloga Goran Alimpic nije u mogucnosti da se javi na Sezam. Zadatak iz takmicenja u programiranju ce ostaviti do 20 casova.
algoritmi.208 galimpic,
******************************************* TAKMICENJE U PROGRAMIRANJU - ZADATAK BROJ 5 ******************************************* Sa tastature se unosi pozitivan ceo broj manji od 100. Potrebno je pronaci sve razlicite nacine na koje se taj broj moze prikazati kao zbir drugih prirodnih brojeva. Rezultat se upisuje u datoteku IZLAZ.TXT tako da svaki red predstavlja po jedan zbir, a sabirci se razdvajaju znakom '+'. U zadnjem redu datoteke treba navesti ukupan broj razlicitih kombinacija. PRIMER: C:\>RESENJE.EXE Unesi broj: 4 C:\>TYPE IZLAZ.TXT 1+1+1+1 1+1+2 1+2+1 2+1+1 1+3 3+1 2+2 4 8 C:\_
algoritmi.210 galimpic,
********************************************** TAKMIČENJE U PROGRAMIRANJU - REZULTATI 5. KOLA ********************************************** Zadatak je bio namerno lak: nadao sam se da ću time privući više takmičara. Kako je pristiglo samo dva rešenja (korisnici bokir i vinkom, embe je pre isteka roka izbrisao svoj prilog), takmičenje se ukida do daljnjeg. Pobednik ovog kola je VINKOM. res5.txt
algoritmi.211 hercog,
»» Ima li ko algoritam ili source nekog programa za pretraživanje »» težinskog grafa? Sale
algoritmi.212 pedjak,
> Ima li ko algoritam ili source nekog programa za pretraživanje > težinskog grafa? Deder, potseti me, ovo je bilo pre mesec dana... Čini mi se da sam ti dao alogoritam Minimal, možda ti treba nešto drugo..?
algoritmi.213 hercog,
»» Deder, potseti me, ovo je bilo pre mesec dana... Čini mi se da sam »» ti dao alogoritam Minimal, možda ti treba nešto drugo..? Pa ja rekoh da mi treba algoritam koji em što nalazi najoptima- lniju granu u nekom grafu između dva čvora nego i pamti kojim čvorovima treba proći... Sale
algoritmi.214 dr.grba,
>> Pa ja rekoh da mi treba algoritam koji em što nalazi najoptima- >> lniju granu ... Književniče, ne postoji NAJOPTIMALNIJE. Ili je optimalno ili nije.
algoritmi.215 vitez.koja,
#=>>> Pa ja rekoh da mi treba algoritam koji em što nalazi najoptima- #=>>> lniju granu ... #=> Književniče, ne postoji NAJOPTIMALNIJE. Ili je optimalno ili nije. Nemoj tako oštro, evo i stari latini su znali za pojam Optimus Maksimus, milim da je prevod na naš jezik jasan (treba li i reference da navodim ;)? sk
algoritmi.216 tehnikum,
Ima li nekog ko zna kako se rachnaju koeficijenti za matematichki model 2-pole filtera ili nekog multi-pole filter (vishe od 2 "poluge") ??? Byte Pointer Of Distorsion
algoritmi.217 nlazic,
Da li neko nešto zna o algoritmu za raspoređivanje ravanskih figura na datu površinu, tako da procenat iskorišćenja površine bude maksimalan (optimizacija rasporeda figura na pravougaonoj osnovi)?
algoritmi.218 sasab,
Zna li neko kako se formira matični broj građana? Ide datum rođenja pa dalje ... Bogi
algoritmi.219 dr.grba,
>> Zna li neko kako se formira matični broj građana? Ide datum rođenja >> pa dalje ... Pa tri cifre za šifru opštine rođenja, pa 0 za muške, 1 za ženske, pa cifra za redni broj rođenog tog dana, pa kontrolna cifra po tamo nekom modulu... Ili će biti dve cifre za šifru opštine, a dve za redni broj.... Ne sećam se više, a imao sam (i izgubio ): ) ovu šemu.
algoritmi.220 isekulovic,
>> Pa tri cifre za sifru opstine rodenja, pa 0 za muske, 1 za zenske, pa Dve za opstinu, 0 za muske 5 (!) za zenske, dve cifre redni broj i jedna kontrolna cifra.
algoritmi.221 dr.grba,
>> Dve za opstinu, 0 za muske 5 (!) za zenske, dve cifre redni broj i >> jedna kontrolna cifra. E, tako, tnx. Hajde sad da nas neko priseti načina izvođenja kontrolnog broja.
algoritmi.222 firus,
> Zna li neko kako se formira maticni broj gradana? Ide datum > rodenja pa dalje ... Jedinstveni maticni broj gradjana (JMBG) je trinaestocifreni broj sacinjen po sledecoj semi: DDMMGGGXXBBBC gde su: DD - datum rodjenja MM - mesec rodjenja GGG - godina rodjenja (bez cifre 1 za hiljadu) XX - ovo je oznaka za administrativn/upravnu oblast (ono 7 je za Srbiju, za ostale, sada bivse republike, ne znam podatke) BBB - 000-499 - muska osoba 500-999 - zenska osoba (ovo je uzeto na osnovu statistickog proseka da se u Beogradu, koji ima najveci broj rodjenih tokom dana, dnevno ne moze roditi vise od 500 dece istog pola) C - kontrolna cifra koja se proracunava po sledecem algoritmu (Pascal, nadam se da je svima jasno): var JMBG:string[13]; i,j,result:word; begin readln(JMBG); result:=0; j:=1; for i:=7 downto 2 do begin result:=result+(ord(JMBG[j])-48)*i; result:=result+(ord(JMBG[j+6])-48)*i; j:=j+1 end; result:=11-(result mod 11); if result>=10 then result:=0; if (result=ord(JMBG[13]-48)) then writeln ('Kontrolna cifra je u redu ... ',result) else writeln ('Kontrolna cifra je neispravna ...', result) end. Recimo, u mom slucaju JMBG je 1905974762613 jer sam rodjen 19.05.1974. u Pozarevcu, opstina Pozarevac, Republika Srbija, i upisan sam pod brojem 261 u neku knjigu (nema pojma koju, valjda je maticna knjiga rodjenih u pitanju) ...
algoritmi.223 mdimitrijevic,
Ovo je jedan od najkompletnijih tutorial-a o texture mappingu koji sam video. Potrebno je određeno predznanje. Obuhvaćen je teorijski, C (Watcom C) i ASM pristup. Većinom 32-bitni kod i za one koji nisu previse upoznati moze predstavljati problem. Uz malo probe, sa dobrim texture mapping rutinama mogu se uraditi i environement mapping (ogledanje okoline na objektu), phong sencenje ... fatmap.zip
algoritmi.224 centrotextil,
Potreban algoritam, isti kao sto trazi nlazic: Algoritam bi trebao da optimizuje raspored narucenih elemenata za secenje (pravougaoni komadi proizvoljnih dimenzija, u proizvoljnom broju primeraka) iz table materijala standardne velicine, a sve sa ciljem minimizacije "restlova" (neiskoriscenih povrsina). Kako nemam nikakvu ideju o algoritmu, svaki pointer je dobrodosao hvala pozdrav branko
algoritmi.225 isekulovic,
>> Kako nemam nikakvu ideju o algoritmu, svaki pointer je dobrodosao Prevrni stare pc.prog konferencije (lakse reci nego uraditi, ali sta je tu je). Bilo je price o algoritmima za optimalno pakovanje fajlova na diskete, odnosno pesama na kasete. Mislim cak da je pominjan i tvoj problem kao primer 2D ekvivalenta gore navedenih problema.
algoritmi.226 hercog,
Neko je pominjao da negde u starim PCPROG konferencijama ima algoritam za određivanje optimalnog rasporeda snimanja pesama na kasetu. Bih bi veoma zahvalan kad bi mi neko ukazao na lokaciju na kojoj se taj algoritam nalazi... Sale
algoritmi.227 nenad,
> Neko je pominjao da negde u starim PCPROG konferencijama ima > algoritam za određivanje optimalnog rasporeda snimanja pesama na > kasetu. Bih bi veoma zahvalan kad bi mi neko ukazao na lokaciju na > kojoj se taj algoritam nalazi... Ne znam gde se nalazi i ima li ga uopšte, ali algoritam je prilično jednostavan. Sortiraj pesme po dužini i kreni od najduže redom da ih snimaš. Kada pred kraj ne budeš mogao neku da snimiš probaš onu "ispod" nje. pa opet, pa opet... Za sledeću kasetu/stranu uzmeš one što su ostale, takođe od najveće ka najmanjoj. Algoritam nije idealan i savršen, ali u gotovo svim "realnim" situacijama daje zadovoljavajuće rezultate.
algoritmi.228 nenad,
Nova datoteka: dos\comm\*.* ------------------ pgp263is.zip 645k ű Izvorni kod programa PGP v2.6.3i (internacionalna verz.) U pitanju je sors internacionalne verzije PGP-a (one koja koristi nelicencirani, brži RSA algoritam). Ovu verziju zabranjeno je koristiti u USA.
algoritmi.229 zkis,
HELP: Problem je prakticne prirode. Resavam problem iz termickih proracuna gde ima puno tabela sa empirijskim podacima. Tabele su trodimenzionalne, tj za ulazne vrednosti X i Y dobija se trazena vrednost Z. Na primer jedna (mala) tabela izgleda ovako: \ y 10 12.5 15 17.50 x\_____________________________ 5 | 0.05 0.06 0.14 0.21 10| 0.07 0.09 0.13 0.17 15| 0.09 0.10 0.16 0.19 Dakle tabela ne mora imati isti broj redova i kolona ! Na primer za ulaznu vrednost X=10 i Y=12.5 dobijam rezultat Z=0.09 Na na koji nacin da dobijem matematicku jednacinu aproksimativne povrsi tipa Z=F(X,Y) koja sa dovoljno tacnosti prikazuje ovaku tabelu ??? Napominjem da je ovaj primer ovde zbog konciznosti isecen iz sadrzaja, tabele su inace mnogo vece i ima ih dosta. Probao sam Excel, MicroCal Origin, MatLab u kome se bas i nisam snasao. Potreban je univerzalni matematicki princip resavanja ovakvih problema. Ocajnik sa Banovog Brda.
algoritmi.230 vasic,
> \ y 10 12.5 15 17.50 > x\_____________________________ > 5 | 0.05 0.06 0.14 0.21 > 10| 0.07 0.09 0.13 0.17 > 15| 0.09 0.10 0.16 0.19 > > Na na koji nacin da dobijem matematicku jednacinu aproksimativne > povrsi tipa Z=F(X,Y) koja sa dovoljno tacnosti prikazuje ovaku tabelu > ??? Priznajem da ovo nisam nikad radio, ali mi jedno pade na pamet: Mogao bi da pokušaš da ideju Lagranžove interpolacije proširiš sa funkcije jedne na funkciju dve promenljive. Elem, u Lagranžovoj interpolaciji za funkciju jedne prom. kada imaš k+1 par (x[i], y[i]) ti pretpostaviš da ti je funkcija oblika k k-1 k-2 y(x) = A x + A x + A x + ... + A x + A 0 1 2 k-1 k Kada u ovu jednačinu uvrstiš k+1 parova poznatih vrednosti (x[i], y[i]) dobijaš sistem od k+1 jednačine sa k+1 nepoznatih: A[0], A[1], ... A[k] a to su koeficijenti pretpostavljene interpolacione funkcije. U tvom slučaju imaš (m+1)*(n+1) trojki (x[i,j], y[i,j], z[i,j]). Možeš da pretpostaviš da ti je funkcija oblika m n m n-1 m n-2 m z(x,y) = A x y + A x y + A x y + ... + A x + 00 01 02 0n m-1 n m-1 n-1 m-1 n-2 m-1 + A x y + A x y + A x y + ... + A x + 10 11 12 1n ... n n-1 n-2 + A y + A y + A y + ... + A m0 m1 m2 mn Uvrsti ovde konkretne vrednosti za (x,y,z) i dobićeš sistem od (m+1)*(n+1) jednačine sa (m+1)*(n+1) nepoznatom. Gadan posao za čoveka, ali računar će ga rešiti, pre ili kasnije. :) Na ovaj način dobijaš funkciju koja _sigurno_ prolazi kroz sve zadate tačke, a ako su ti ulazne vrednosti onako zgodne kao u gornjem primeru, i između njih bi trabalo da ostane prilično mirna. Ono što me stvarno brine su brzina i potrošnja memorije. Ako ti je ulazna matrica kvadratna, dimenzija n*n, sistem je n^2*n^2. Znači, za ulaznu matricu 100*100, rešava se sistem 10000*10000. 'Ajde što će da traje, nego što će za to biti potrebna matrica od 100 miliona elemenata što uz 4-bajtni float izađe 400MB! :( U takvom slučaju mogao bi da podeliš podeliš ulaznu matricu 100*100 na recimo 8 delova 25*25 čime se zahtev za memorijom svodi na mnogo razumnijih 1.5MB. Slično važi i za vreme izračunavanja - mrzi me sad da tačno računam vremensku dimenziju problema. Ako se odlučiš da iskoristiš ovu ideju, obavezno mi javi kako je ispalo na kraju. > Ocajnik sa Banovog Brda. Pozdrav, komšija. :)
algoritmi.231 embe,
ŢŢProblem je prakticne prirode. Resavam problem iz termickih proracuna ŢŢgde ima puno tabela sa empirijskim podacima. Tabele su ŢŢtrodimenzionalne, tj za ulazne vrednosti X i Y dobija se trazena ŢŢvrednost Z. ŢŢNa na koji nacin da dobijem matematicku jednacinu aproksimativne ŢŢpovrsi tipa Z=F(X,Y) koja sa dovoljno tacnosti prikazuje ovaku tabelu ŢŢ??? ŢŢPotreban je univerzalni matematicki princip resavanja ovakvih ŢŢproblema. ŢŢOcajnik sa Banovog Brda. Komsija, moram odmah da ti kazem jednu tuznu i jednu radosnu vest. Tuzna - Univerzalni matematicki princip ne postoji. Radosna - Postoji beskonacno mnogo "resenja". Recimo: Radi konciznosti objasnjenja uzecu na primer tablicu 2 X 2 (znaci imamo poznate 4(cetiri) tacke) (Ovo NARAVNO vazi i za tablicu proizvoljnih dimenzija!) x/y | 1 2 ili simbolima: x/y | y1 y2 ------------- --------------- 10 | 0.5 0.7 x1 | z11 z12 15 | 0.6 0.9 x2 | z21 z22 Mozemo samo da mastamo o tome koja je povrs u pitanju. Da li je to deo lopte, paraboloid ,hiperboloid , a da ne pominjemo logaritamske, trigonometrijske, eksponencijalne ... povrsi. Bilo kako bilo, ma koju povrs usvojili, za vrednosti (x,y) iz tablice mora se dobiti vrednost z iz tablice dok ce unutar (ponavljam: unutar) oblasti, (u ovom slucaju oblast je pravougaona 10<x<15, 1<y<2 ) dobiti interpolirane vrednosti koje su realnije ukoliko je broj tacaka (citaj: broj vrsta i kolona tablice) veci. Elem, evo jednog od resenja: ------------------------------- Za tablicu sa V - vrsta i K-kolona imacemo N=V*K tacaka. Izabracemo povrs oblika: (1) f(x,y) = suma(Ci * x^(N-i-1) * y^i ) , za i=0 do N-1, Ci - nepoznate konstante Ovo je polinom sa dve nepoznate, stepena N-1. sto za N=4 daje: (2) f(x,y)= C1* (x^3) + C2* (x^2 * y) + C3* (x * y^2) + C4* (y^3) C1,C2,C3,C4 su konstante koje treba odrediti. Postupak odredjivanja konstanti je sledeci: Imamo cetiri tacke kroz koje mora da prodje povrs, odnosno cetiri uslova: C1* (x1^3) + C2* (x1^2 * y1) + C3 *(x1 * y1^2) + C4 *(y1^3) = z11 C1* (x1^3) + C2* (x1^2 * y2) + C3 *(x1 * y2^2) + C4 *(y2^3) = z12 C1* (x2^3) + C2* (x2^2 * y1) + C3 *(x2 * y1^2) + C4 *(y1^3) = z21 C1* (x2^3) + C2* (x2^2 * y2) + C3 *(x2 * y2^2) + C4 *(y2^3) = z22 (x1,x2,y1,y2,z11,z12,z21,z22 su vrednosti iz tablice, dakle, poznate vrednosti) Vrednosti koeficijenata C1..C4 se dobijaju kao resenja ovog sistema linearnih jednacina. Kada se dobiju vrednosti za C1,C2,C3,C4 uvrste se u (2) Na kraju se dobija jednacina povrsi koja ima oblik (1), pa se mogu dobiti i vrednosti koje nisu u tablici. NAPOMENA: Ovo je samo jedno od resenja cije je malo ogranicenje da ne smeju da postoje dve tacke sa odnosom koordinata: x1/x2=y1/y2=z1/z2 Ovo ogranicenje se lako prevazilazi "siftovanjem" x ili y koordinata cele tablice za proizvoljnu konstantu. Na primer: Tacke: x1=1 y2=2 z1=5 i x1=2 y1=4 z1=10 nalaze se u "nedozvoljenom" polozaju. Ako y koordinate "pomerimo" na primer za +51 (proizvoljno) dobicemo x1=1 y2=53 z1=5 i x1=2 y2=55 z1=10 (sada vec nisu u "nedozvoljenom" polozaju!) Kada se odredi polinom (odnosno koeficijenti C1...CN), jednostavno, ako zelimo vrednost za x=1.5 i y=3 u funkciju ubacimo x=1.5 i y=3+51=54. (Ne treba preterivati u velicini konstante koja se dodaje jer se radi sa stepenovanjem, pa moze doci do gubitka preciznosti pri resavanju sistema) Komsija, ukoliko zelis jos neka dodatna objasnjenja ili program koji sam napravio da radi po ovom principu, slobodno javi. PS. Sada se svima izvinjavam sto ovo opsirno objasnjenje nisam stavio u fajl, ali s obzirom da se tema zove algoritmi i da nisu svi algoritmi u deset recenica, nadam se da cete biti uvidjavni. Pozdrav.
algoritmi.232 embe,
>>Priznajem da ovo nisam nikad radio, ali mi jedno pade na pamet: Mogao >>bi da pokusas da ideju Lagranzove interpolacije prosiris sa funkcije >>jedne na funkciju dve promenljive. Hmm... dobro je, komsija. Razlika je samo u izboru polinoma. >>>Ono sto me stvarno brine su brzina i potrosnja memorije. Ako ti je >>>ulazna matrica kvadratna, dimenzija n*n, sistem je n^2*n^2. Znaci, za >>>ulaznu matricu 100*100, resava se sistem 10000*10000. 'Ajde sto ce da >>>traje, nego sto ce za to biti potrebna matrica od 100 miliona >>>elemenata E bas fino sto si ovo napomenuo. Predlazem da se malo u ovoj temi pozabavimo jednom naizgled trivijalnom a ipak izuzetno kompleksnom temom: RESAVANJE VELIKIH SISTEMA LINEARNIH JEDNACINA (naravno racunarom). Sa aspekta brzine, upotrebe resursa racunara, tacnosti i slicno. Pozdrav.
algoritmi.233 ppecanac,
> pozabavimo jednom naizgled trivijalnom a ipak izuzetno > kompleksnom temom: RESAVANJE VELIKIH SISTEMA LINEARNIH > JEDNACINA (naravno Ja sam svojevremeno trazio resenje za sistem linearnih jednacina sa simetricnom matricom, trebalo mi je hitno. Cini mi se da niko nije reagovao. 'Morao' sam zato da ga zbrzim sam, pa na optimizaciju nisam ni pomisljao. Koga jos to interesuje kad je pentium pro u modi. Salim se. (ja sam jos u uvek na amd-u)
algoritmi.234 jjerry,
Mozda ovo pitanje i nema veze sa temom algoritmi ali ,ipak, saljem. Naime,posto sam relativno nov u asemblerskim vodama interesuje me samo algoritam (ako neko zna moze i kod) neke interapt hendler rutine. U ovoj temi su ,izgleda,svi sa Banovog Brda,dakle, moje komsije ;)
algoritmi.235 mmilosh,
>> pozabavimo jednom naizgled trivijalnom a ipak izuzetno >> kompleksnom temom: RESAVANJE VELIKIH SISTEMA LINEARNIH >> JEDNACINA (naravno > > Ja sam svojevremeno trazio resenje za sistem linearnih > jednacina sa simetricnom matricom, trebalo mi je hitno. Evo ja sam zaiteresovan za razglabanje o tome pošto upravo to sada radimo na fakultetu (Matematički, smer za računarstvo i informatiku, I godina). Ali još sam početnik u tome pa bih u početku samo slušao ;))
algoritmi.236 janko,
> Mozda ovo pitanje i nema veze sa temom algoritmi ali ,ipak, saljem. Nema, vidi dalje. > Naime,posto sam relativno nov u asemblerskim vodama interesuje me > samo algoritam (ako neko zna moze i kod) neke interapt hendler > rutine. Ne, diskusiji na ovu temu mesto je u temi asembler. Ovo što tebe zanima ipak nema veze sa algoritmima.
algoritmi.237 embe,
Subject: Resavanje velikih sistema linearnih jednacina. Hteo bih samo malo da usmerim paznju i diskusiju (ako je uopste bude bilo). Dakle ... Pre pojave racunara, a u doba logaritmara veliki izazov je predstavljao i sistem linearnih jednacina reda 3 i vise. Onda je postojao jedan praktican nacin resavanja (gausov postupak eliminacije) i nekoliko teoretskih (teoretskih, zato sto nisu bili primenljivi zbog velikog broja aritmetickih operacija.) I onda je dokazano da je od svih direktnih (= neiterativnih) postupaka, gausov postupak najbrzi jer je potrebno najmanje operacija. I tu se, sto se tice direktnih postupaka, stalo. Pre vise od 150 godina. Iterativni postupci su druga prica. Od pojave racunara poceli su da prezivljavaju drugu mladost. Povecavanjem broja jednacina, neprikosnovenost gausovog postupka se sve vise dovodila u pitanje. Cak, da apsurd (a u stvari to i nije) bude veci, nesto sto se na prvi pogled ne bi nikad moglo dovesti u pitanje, - pocela je da se gubi tacnost. Zna se da gausov postupak nagomilava gresku i da je ona veca sto je broj jednacina veci. Sa druge strane, iterativni postupci ne pate od problema nagomilavanja gresaka jer se sami iterativno popravljaju. Tako je doslo do toga da je Gaus i definitivno out a da su iterativni postupci in. Naravno, Gaus se jos, tu i tamo drzi, uz neke modifikacije, ali... Koja je dakle, osnovna mana gausovog algoritma za resavanje ? Odgovor je pomalo apsurdan, to je njegova univerzalnost ! Naime, ovim nacinom je moguce resiti sve sisteme linearnih jednacina koji uopste imaju resenja. Takodje, resava simetricne, nesimetricne, trakaste i pune sisteme. Ali, veliki sistemi linearnih jednacina, cije se resavanje zahteva u novije vreme, nisu toliko proizvoljni. Oni su uglavnom simetricni (lepa strana prirode ona sa isto toliko nepoznatih !!! Kada bi se to resavalo uz pomoc Gausa, puna matrica bi stala na "tricavih" 96 gigabajta (za dvostruku tacnost). Medjutim, to ne pije vodu. Dakle, ovo je samo bio slagvort, otvaram diskusiju o resavanju velikih (specificnih) sistema linearnih jednacina. Specificni sistemi = svi koji imaju neku bitnu karakteristiku, kao sto je simetricnost, trakastost, dijagonalna dominantnost, pozitivna definitnost ili nesto deseto.... Ovakvi sistemi se najcesce i javljaju u nekim konkretnim problemima (izuzimam zbirke zadataka :) ) Ukoliko neko nesto zna i hteo bi to da podeli, neka se ukljuci. Ukoliko neko ima neki problem, takodje neka se ukljuci.
algoritmi.238 vdjole,
> 1.229, 1.230, 1.231, ... 1.235 Evo jedan objedinjeni komentar na nekoliko poruka koje su se odnosile na aproksimaciju funkcije dve promenljive a zatim na resavanje sistema linearnih jednacina. Izvinjavam se zbog nedostatka YU slova u ovoj poruci, ali kako koristim yuscii a ovde ce biti malo uglastih i viticastih zagrada, trenutno je set code=none. A izvinjavam se i zbog duzine, ali, kako neko ovde rece, neke stvari se ne mogu objasniti u dve-tri recenice. Daklem, pocetni problem je bio kako aproksimirati tablicno zadanu funkciju dve promenljive. Ovde su moguca dva pristupa, a moguce je da autor pocene poruke nije bio bas najprecizniji u tome koji mu treba: 1- interpolacija funkcije: resenje u obliku neke jednostavne funkcije vazi samo unutar jedne "pravougaone" oblasti u tablici koja se prostire od (x1,y1) do (x2,y2). Pri trazenju vrednosti za proizvoljno x i y prvo se odredi u koje "polje" padaju vrednosti x i y, pogodna jednostavna funkcija se odredi (kasnije o tome kako se odredi) na osnovu vrednosti u okolnim tackama i izracuna se z=f(x,y). 2- aproksimacija funkcije: resenje u obliku neke (manje-vise) jednostavne funkcije vazi unutar cele oblasti definisane tablicom. Medjutim, aproksimativna funkcija ne mora biti jednaka tablicnim vrednostima ni u jednoj tacki iz tablice, vec se obicno uzima da je najopogodnije da zbir kvadrata odstupanja aproksimacije od tablicnih vrednosti bude minimalan. Ovo je poznati "metod najmanjih kvadrata" i vrlo je pogodan pri obradi rezultata iz raznih merenja i sl. zato sto sluzi i kao "filter" za "peglanje" slucajnih gresaka u merenju pojedinih vredosti iz tablice. I za 1- i za 2- vazi da izabrani oblik funkcije mora biti u skladu sa raspolozivim brojem tacaka, tj. broj koeficijenata funkcije koja se odredjuje ne sme biti veci od broja raspolozivih tacaka. U prvom slucaju to je broj "okolnih" tacaka, a u drugom ukupan broj tacaka u tablici. Inace, ako je raspolozivi broj tacaka jednak najmanjem dozvoljenom broju tacaka za izbrani oblik interpolacione ili aproksimacione funkcije, pristup 2- se, de fakto, svodi na pristup 1-. Obicno je pogodno za "jednostavnu" funkciju uzeti polinom, osim ako se zna da, teoretski, problemu koji se razmatra odgovara neka druga funkcija. Medjutim, polinom gotovo uvek "upali" jer se i druge funkcije razvijanjem u red mogu aproksimirati polinomom. Ako se radi INTERPOLACIJA resenje se manje vise svodi na odredjivanje Lagranzevog polinoma ili na neki drugi postupak koji, u sustini, daje potpuno isti polinom. U najjednostavnijem slucaju interpolacija se radi samo na osnovu 4 okolne tacke. Resenje je pravoizvodna povrsina tipa hiperbolickog paraboloida. Na sve 4 ivice oblasti u kojoj se interpolira (tj. na potezima x1y1...x1y3 ili x1y1...x2y1 itd.) resenje se dobija linearnom interpolacijom. Unutar oblasti resenje je funkcija drugog stepena. Meni licno uvek je bilo nekako zgodno ovu interpolaciju raditi koristeci "funkcije stapanja" (blending functions, sto bi rekli Englezi). Ako za 4 okolne "praovugaono" rasporedjene okolne tacke imamo x1,y1,z1... x4,y4,z4 (x1=x3, x2=x4, y2=y1, y3=y4), za proizvoljno x,y unutar ili na granici ove oblasti interpolira se: z= f1(x,y)*z1 + f2(x,y)*z2 + f3(x,y)*z3 + f4(x,y)*z4 gde su f1...f4 funkcije koje mogu imati vrednost od 0 do 1: f1 = (x2-x)/(x2-x1) * (y3-y)/(y3-y1) f2 = (x-x1)/(x2-x1) * (y3-y)/(y3-y1) f3 = (x2-x)/(x2-x1) * (y-y1)/(y3-y1) f4 = (x-x1)/(x2-x1) * (y-y1)/(y3-y1) (btw. tacno na sredini oblasti sve cetiri imaju vrednost 0.25, tj. sve 4 okolne tacke ravnopravno ucestvuju u odredjivanju vrednosti) Za interpolaciju na osnovu 4 okolne tacke NEMA NIKAKVOG OPRAVDANJA koristiti vise stepene polinoma jer gornji postupak daje "najglatkiju" (uh, al je rec) povrsinu dok za polinome viseg stepena ima beskonacno mnogo resenja koja mogu sadrzati neocekivane "krivine" unutar oblasti, iako su tacna u one 4 tacke. Postoje i neke egzoticne varijante tzv. "transfinitne" interpolacije ( (c) : Coons ) kod koje se na granicama oblasti aproksimaciona funkcija tacno poklapa sa nekim slozenijim unapred zadatim funkcijama a unutar oblasti se takodje koriste "blending functions". Ako su granicne funkcije funkcije linearne, transfinitna interpolacija se svodi na gornji slucaj. Ako se radi APROKSIMACIJA (tj. metodom najmanjih kvadrata) takodje se treba cuvati polinoma viseg stepena. Generalna smernica moze biti da polinomi stepena veceg od 3. imaju tedenciju da sadrze neocekivane prevojne tacke, tj. da budu "talasasti" unutar oblasti za koju se odredjuju. Ovo je vrlo nepozeljna osobina ako se zeli automatizovati postupak nalazenja vrednosti funkcije, jer se bez vizuelnog uvida u aproksimiranu funkciju nikad ne moze znati da dobijena vrednost nije "iskocila" na nekom talasu. Ako se zna teoretski oblik funkcije koja se aproksimira takodje moze biti pogodno upotrebiti takve - druge- funkcije a ne polinome. Na primer, postoji problem koji je pogodno aproksimirati kao: z(x,y) = a0 + a1*sin(x) + a2*cos(x)*sin(y) + a3*cos(x)*cos(y) O tome kako se odredjuju koeficijenti funkcija metodom najmanjih kvadrata, mozemo nekom drugom prilikom, ako nekoga bude interesovalo (da ne tupim bas previse). I aproksimacija i interpolacija zahtevaju odredjivanje koeficijenata neke pogodne funkcije. U oba slucaja ovo se svodi na resavanje sistema linearnih jednacina. Na zalost kolega koji su ovde razmatrali mogucnost resavanja sistema 10000*10000, ovde postoje brojni prakticni problemi, koji nemaju veze samo sa brzinom racunara. Nezgoda je u tome sto su sistemi linearnih jednacina koji nastaju pri odredjivanju interpolacione ili ekstrapolacione funkcije, tzv. "ill-conditioned systems". tj. teze da imaju relativno male vrednosti u blizini glavne dijagonale matrice sistema (ili se njihova matrica svodi na takvu matricu). Ovakvi sistemi imaju malu determinantu i pri njihovom resavanju egzaktnim metodama DOLAZI DO VRLO VELIKIH NUMERICKIH GRESAKA! Recimo, standardni postupak za sisteme lin. jednacina je Gausov. Medjutim, vec kod ovakvih sistema velicine, recimo 20x20, ako se radi sa 4-bajtnim FLOAT brojevima, dolazi do tolikog nagomilavanja gresaka da su resenja, iako formalno tacno dobijena, prilicno besmislena- sto se lako moze ustanoviti proverom. Ako se resenje sistema dobija inverzijom matrice, kao: -1 ŠAĆšxć=šbć ---> šxć = ŠAĆ šbć ( šxć su ovde zapravo trazeni koeficijenti aproksimacione funkcije ) greske bivaju jos i vece. Koriscenje 8-bajtnih FLOAT brojeva moze malo pomoci, ali ne mnogo. Postoje jos neki postupci za ovakve sisteme, kao tzv. L-R postupak, gde se matrica sistema razbija na dve trougaone, itd. Za resavanje sistema koji nastaje pri aproksimaciji metodom najmanjih kvadrata postoji i znatno bolji, ali relativno slozeni postupak pod nazivom "singular value decomposition". Jedan jednostavan postupak za poboljsanje resenja za "ill-conditioned" sisteme je sledeci: 1: Svakako treba koristiti 8-bajtne promenljive 2: Sistem ŠAĆšxć=šbć se resi inverzijom matrice, kao gore. Medjutim, zbog gresaka, tada se, zapravo, dobije resenje šx+dxć gde je šdxć vektor gresaka pri odredjivanju šxć. 3: Izracuna se šb+dbć kao ŠAĆšx+dxć=šb+dbć; oduzimanjem šbć izdvoji se šdbć -1 4: Nadje se šdxć kao: šdxć = ŠAĆ šdbć 5: Koriguje se šxć oduzimanjem šdxć od prvobitnog resenja. 6: Tacke 3-5 se ponove u nekoliko iteracija (obicno je 5-6 dovoljno), pri cemu se (nadamo da se) dobija sve manje šdxć. Konacna vrednost za šxć se uzme za resenje sistema. Moglo bi se savetovati da se NE KORISTE "home made" rutine za inverziju matrica ili za resavanje sistema jednacina, osim ako covek TACNO zna sta radi. Korektna inverzija matrica zahteva gomilu zamena mesta i kolona s obzirom na vrednosti clanova, sve u cilju smanjivanja pomenutih numerickih gresaka. Uh, toliko za sada Š i previse :) Ć. Na kraju, da neko ne misli da se sad ja pravim strasno pametan, ovo je uglavnom po secanju na sadrzaj jedne VRLO korisne knjige kojoj se sad ne secam tacnog naziva ni autora, a zove se nesto kao "A Cookbok of Numerical Recipes", sa brojnim primerima koda (u FORTRAN-u). Negde na poslu imam tacan naziv, pa ako nekome treba neka vice. A mislim da se ta knjiga vec i pominjala negde u ovoj konferenciji.
algoritmi.239 qpele,
Evo i mog doprinosa raspravi o interpolaciji Evo i mog doprinosa rasparavi o interpolaciji.Uz poruku ide moj maturski rad (program ) za interpolaciju. Sam program je prilicno amaterski uradjen ,ali interpolaciju dobro radi i crta priblizan grafik funkcije na intervalu (x-min,y-min)-(x-max,y-max). interpol.rar
algoritmi.240 mmilosh,
> ŠAĆšxć=šbć ---> šxć = ŠAĆ šbć > > ( šxć su ovde zapravo trazeni koeficijenti aproksimacione > funkcije ) Eh, ti i tvoj #$!@'& yuscii! :))) Sad su velike i srednje zagrade š i ć :(( Al shvatili smo kako treba da izgleda. Mislim, ako se već baviš matematikom bio bi red da pređeš na neki ljudski raspored. Izvinjavam se, ali sam morao da primetim.:) Pozdrav.
algoritmi.242 vdjole,
>Eh, ti i tvoj #$!Ž'& yuscii! :))) Sad su velike i srednje zagrade š i ć :(( >Al shvatili smo kako treba da izgleda. >Mislim, ako se već baviš matematikom bio bi red da pređeš na neki ljudski >raspored. Kuku! sad sam tek video šta sam uradio- poslao poruku po yuscii iako sam mislio na code-none. Sorry svima koji su imali problema da ovo pročitaju. Ne znam da l' je vredno truda da onu poruku obrišem pa da pošaljem ponovo. 'zvinte!
algoritmi.243 bokir,
Jel može neko da objasni LZ/LZW algoritam za kompresiju?
algoritmi.244 vector,
│ Jel moze neko da objasni LZ/LZW algoritam za kompresiju? └───────── Uz poruku je datoteka iz \Sezam\RSoft direktorijuma. Cini mi se da su primeri pisani u C-u ... r059lzw.zip
algoritmi.245 biber,
Kako skeneri rade softversko povećanje rezolucije? Ili drugim rečima, kako pretvoriti npr. sliku 320x200 u 640x400, a da ta slika stvarno izgleda kao da joj je povećana rezolucija?
algoritmi.246 vdjole,
> Kako skeneri rade softversko povećanje rezolucije? Pretpostavljam da se to radi interpolacijom. I mene interesuje ako neko ima detaljniji odgovor.
algoritmi.247 nenad,
>> Kako skeneri rade softversko povećanje rezolucije? > > Pretpostavljam da se to radi interpolacijom. I mene interesuje ako neko > ima detaljniji odgovor. Neko je ovde dao lepo i detaljno objašnjenje pre... recimo godinu dana ili nešto više. Ne sećam se tačno cele priče, ali nije interpolacija, za to bi bio dovoljan i softver. Čini mi se da je bila neka priča sa realnom optičkom rezolucijom i rezolucijom do koje se dolazi finim pomerajem "valjka". Znači nešto slično kao ona 360x360 rezolucija kod 24-igličnih matričnih štampača, dakle bolja nego tadašnji laseri, ali zato je jedna tačka "malo" poveća... Kod skenera je ipak nešto povoljnija situacija jer i ta "softverska" rezolucija je stvarna, samo zahteva duže skeniranje i obradu - sva se mesta gledaju onoliko puta koliko puta je zahtevana rezolucija veća od realne optičke rezolucije... ako me razumete šta hoću da kažem. :) U svakom slučaju mislim da pravo objašnjenje nećemo naći u ovoj konferenciji.
algoritmi.248 biber,
>> interpolacija, za to bi bio dovoljan i softver. Čini mi se da je >> bila neka priča sa realnom optičkom rezolucijom i rezolucijom do >> koje se dolazi finim pomerajem "valjka". Dobro, mene više zanima software-only tehnika. Dakle da li postoji algoritam za softversko povećanje rezolucije. Pretpostavljam da se time nešto mora i izgubiti (takozvani zakon o održanju... piksela :) Pretpostavljam da će slika postati malo "umekšana".
algoritmi.249 silence,
Zdravo svima. Potreban mi je algoritam za minimizaciju isecanja manjih pravougaonika iz zadatog veceg. Ako neko ima nesto slicno bio bih zahvalan na istom. Svi dogovori su moguci. Dakle rezime: Imamo n ploca povrsine A i m1, m2,..., mx ploca razlicitih povrsina? Koji je minimalan broj ploca A potreban da bi sve ploca mi
algoritmi.250 nenad,
> Dobro, mene više zanima software-only tehnika. Dakle da li > postoji algoritam za softversko povećanje rezolucije. Pretpostavljam > da se time nešto mora i izgubiti (takozvani zakon o održanju... > piksela :) Pa ne izgubi se ništa, ali se i ne dobije mnogo - količina informacije je ista. Ono što se promeni jeste način na koji je ta informacija prezentovana, to jest očima niko nije rekao da je to isto ono od pre samo malo ulepšano - i rezultat je bolji. :) E sad, ono što ti hoćeš - softversko povećanje rezolucije - možda i nećeš dobiti u pravom smislu te reči (dobićeš veći broj različitih tačaka), ali recimo za povećanje detalja na bit-map slikama ovo je sasvim upotrebljivo - oči same to ne bi umele da urade tako dobro. > Pretpostavljam da će slika postati malo "umekšana". Evo uz ovu poruku primera, pa sam proceni. Zumiran je detalj jedne slike, sa i bez uključene interpolacije piksela. interpol.rar
algoritmi.251 tomislavr,
Ima li neko program/funkciju (na bilo kom pr. jeziku) za prevođenje brojeva iz rimskog u arapski sistem?
algoritmi.252 firus,
> Ima li neko program/funkciju (na bilo kom pr. jeziku) za > prevođenje brojeva iz rimskog u arapski sistem? Uz poruku je zakačena arhiva sa datotekama RIM2ARAP.C i RIM2ARAP.PAS koje rešavaju problem. Problem ispravnosti unetog rimskog broja (u smislu da je ispravan i npr. MIXC) nije rešen. Jednostavno me je mrzelo da sada prepravljam sors i ubacujem to parče. BTW, da nisi možda student FON-a? ;) Ovo je bio prvi zadatak iz PP-a u poslednjem ispitnom roku. rim2arap.zip
algoritmi.253 tomislavr,
> Uz poruku je zakačena arhiva sa datotekama RIM2ARAP.C i > RIM2ARAP.PAS koje rešavaju problem. Problem ispravnosti unetog Dankešen :) > BTW, da nisi možda student FON-a? ;) > Ovo je bio prvi zadatak iz PP-a u poslednjem ispitnom roku. Nisam na FON-u, ali zadatak je za seminarski na jednom drugom fax-u.
algoritmi.255 mmilosh,
> Nisam na FON-u, ali zadatak je za seminarski na jednom drugom > fax-u. Matematički, jel da?
algoritmi.256 ratman,
Kopka me jedan problem.. Na koliko nacina se iz npr., skupa od 30 elemenata (svi razliciti) mogu formirati 3 grupe od po 10 elemenata (redosled unutar grupa nije bitan, samo sastav)? Posto je za samo jednu grupu N=C(30,10), rekao bih da je taj broj: C (30,10) x C (20,10) C oznacava, naravno, broj kombinacija, odn binomni koef,... itd. Da li sam u pravu? Osnova kombinatorike se slabo secam, a interesuje me ovaj proracun zbog nekakvih eksperimenata (bioloskih) i algoritama za stratifikaciju, itd. I, naravno, mnogo sam bolji u izmisljanju problema nego resavanju.... :) Pozdrav, Dejanű▀ű▀řÚřÚřÚ
algoritmi.257 dule.n,
=> C (30,10) x C (20,10) => => C oznacava, naravno, broj kombinacija, odn binomni koef,... itd. => => Da li sam u pravu? Osnova kombinatorike se slabo secam, a U pravu si.
algoritmi.258 dzakic,
> Posto je za samo jednu grupu N=C(30,10), rekao bih > da je taj broj: > > C (30,10) x C (20,10) Ukoliko je svaka grupa na neki način numerisana i zna se koja je prva, koja druga a koja treća, onda si u pravu. C(30,10) - biraš prvo 10 komada od 30, nakon toga ostaje 20 elemenata od kojih ponovo biraš 10 - C(20,10). To je ok. Međutim, imaćeš slučaj da su elementi u drugoj grupi, identični elementima iz prve grupe iz nekog prethodnog izvlačenja. Dakle, same grupe 1 i 2 jesu neki novi raspored, ali posmatrano globalno, to je opet isto 'cepanje'. Ukoliko ti treba ovakav drugi slučaj, tada rezultat treba da podeliš brojem ovakvih situacija. A on je.. hm :), 3! ?
algoritmi.259 mcar,
Kako izracunati broj godina, meseci i dana izmedju dva proizvoljna datuma? Da li neko zna nesto o ovom algoritmu, ili o tome gde je isti opisan? Unapred zhavalan Marko
algoritmi.260 obren,
> Kako izracunati broj godina, meseci i dana izmedju dva proizvoljna datuma? Za početak, postoji stanradna (ANSI) funkcija za određivanje razlike u sekundama između dva datuma (pogledaj difftime i sve o tome). Ta razlika u sekundama se može aproksimativno (deljenjem) prevesti u dane, mesece godine itd. Problem je ako hoćeš da odrediš razliku tačno, u "pravim" mesecima. Recimo ako je u pitanju 30 dana razlike, to može biti i jedan mesec i 2 dana (ako je negde oko februara), a može biti i nula meseci i 30 dana ako je recimo mart i sl.
algoritmi.261 mcar,
Upravo je problem u tome sto mi ne odgovara aproksimativno reenje pomocu broja sekundi ili dana. Takodje problem prave i pretupne godine. Mislio sam da negde postoji vec gotov algoritam, ako ne moracu da se maltretiram. Marko
algoritmi.262 vule.,
Da li neko zna kako da napisem program koji sortira linije teksta po abecedi ?
algoritmi.263 ognjen,
)-> Da li neko zna kako da napisem program koji sortira linije )-> teksta po abecedi ? Šta je tu komplikovano? for i:=1 to broj_linija-1 do for j:=i to broj_linija do if (linija[i]>linija[j]) then razmeni_linije(i,j);
algoritmi.264 vule.,
Cini mi se da je to PASCAL, a ja nisam napomenuo da mi treba za BASIC.... Nema veze, pojasni mi malo program...
algoritmi.265 ognjen,
)-> Nema veze, pojasni mi malo program... for i:=1 to broj_linija-1 do for j:=i+1 to broj_linija do if (linija[i]>linija[j]) then razmeni_linije(i,j); Davno beše basic, ali da pojasnim. Ovo je inače najlakši (svakako nije najbrži, ali je dovoljno efikasan za ono što ti treba) algoritam za sortiranje. Uslov IF proverava koja je linija pre koje u abecedi. Dakle "PAJA">"PERA" nije tačno, jer je 'A'<'E'. Takođe "MIKA">"NESA" je tačno, jer je 'M'>'N'. Dakle, gleda se prvo slovo koje se ne poklapa. Nisam siguran da ovo radi ovako u basicu, pa napravi sam proceduru za proveru. Ovaj, gore opisani IF uslov radi po sledećem redosledu: upoređuje 1,2 i zameni ako 2 treba da bude pre jedan. Pa 1,3, pa 1,4 do 1,n, i na kraju imaš na prvom mestu string koji treba da bude prvi. Onda ide 2,3; 2,4... 2,n - uradio je i drugo mesto... i tako dalje dok ne sredi ceo niz. Nadam se da je malo jasnije. PS: pređi na pascal.
algoritmi.266 vule.,
Treba mi algoritam za simulaciju gadjanja u igricama, kao u DEZINTEGRATORS, SCORCH, WORMS, itd, znaci 2D(jacina,ugao,vetar) Unapred zahvalan...
algoritmi.267 kenza,
Hi! Jel pisao neko algoritam za iks-oks? :) Za pocetak, standardni teren - 3x3 polja, za kasnije moze i onaj 'padajuci' ;) Poz.
algoritmi.268 mihailod,
> Jel pisao neko algoritam za iks-oks? :) Za pocetak, standardni > teren - 3x3 polja Krstic-kruzic ili tic-tac-toe (u teoriji igara Connect-3) je dosta proucavana igra. Najjednostavniji je heuristicki algoritam koji igra nemastovito, ali zato nikad ne gubi, lako ga je isprogramirati itd. Ogromna mana je u tome sto ga je nemoguce uopstiti za vece dimenzije. Nabacicu ovde osnovnu ideju: if(igras prvi) {igraj u sredinu (dalje je lako)} else { if(protivnik igrao u sredinu) igraj u ugao (i dalje je lako...) else igraj u sredinu (dalje je lako) } Na ovaj nacin broj strategija se smanjuje na smesnu cifru tako da ih je moguce rucno iskodirati. Takodje, korisno je upotrebiti i informaciju da su neke pozicije simetricne. Malo ozbiljniji pristup se dobija upotrebom nekih rezultata iz teorije igara. Pre svega, kako se radi o igri sa potpunom informacijom (dakle, tabla i figure su na raspolaganju obojici igraca - npr. poker je igra sa nepotpunom informacijom) i kako je igra konacna (jer je polje konacno, a igra se do njegovog popunjenja ili do zavrsetka igre (tzv. "sudden death" - npr. sah je sudden death igra (sudden death je mat pozicija) dok neke igre nisu - igra se do popunjenja table i onda broje poeni), to po teoremi o antagonistickim igrama ta igra ima ravnoteznu situaciju. Dakle, uvek se moze igrati na nereseno. To je sto se suve teorije tice, a ozbiljan algoritam bi, recimo, koristio minimax strategiju (uz opciono alfa-beta odesacanje). Uz ovu poruku zakacen je fajl koji predstavlja jedan kompletan program koji uz pomoc pomenutih tehnika igra Connect-3. Prouci ga i iz njega ces saznati neke osnovne tehnologije programiranja strateskih igara ovog tipa. Inace, program je skinut iz news konferencije comp.ai.games . > za kasnije moze i onaj 'padajuci' ;) Ovo je tzv. ograniceni Connect-4. Algoritam je dosta slozeniji. Nedavno je jedan holandjanin potpuno resio ovu igru. Tj., napisao je program koji sigurno dobija kao beli a sigurno igra nereseno kao crni. Nemam taj program niti sors, ali imam njegovu magistarsku tezu koja je zapravo cela posvecena toj igri. Imam je u .ps formatu, oko 120 strana A4, podugacka je (oko 700K .ps, to bi trebalo da se sabije na oko 200k .zip). Ako te stvarno zanima, poslacu ti na mail... Ako jos nekog ovo zanima, mogu i u temu. Inace, ako nameravas da pises program koji igra Connect-4, toplo preporucujem citanje te teze. sc_ttt.txt
algoritmi.269 mipedja,
>.. Ako te stvarno zanima, poslacu ti na mail... Ako jos nekog >.. ovo zanima, mogu i u temu. Inace, ako nameravas da pises Ovo mi zvuci interesantno, shalji to ovde.
algoritmi.270 morkin,
> njegovu magistarsku tezu koja je zapravo cela posvecena toj > igri. Imam je u .ps formatu, oko 120 strana A4, podugacka je > (oko 700K .ps, to bi trebalo da se sabije na oko 200k .zip). > Ako te stvarno zanima, poslacu ti na mail... Ako jos nekog ovo > zanima, mogu i u temu. Inace, ako nameravas da pises program Šalji ovde, molim te.
algoritmi.271 embe,
>>Jel pisao neko algoritam za iks-oks? :) Za pocetak, standardni >>teren - 3x3 polja, za kasnije moze i onaj 'padajuci' ;) Svojevremeno je ovde, u ovoj konferenciji bio organizovan turnir programa za iks-oks. (Vidi poruku 1.62). Na tom takmicenju sam slucajno ja pobedio :). Pobednicka verzija programa nalazi se zakacena uz poruku 1.76. Njen source je u poruci 1.90. Napomena, zadatak takmicenja je bio da program ne sme nikako da izgubi, i MORA UVEK DA IGRA NAJJACE (svaku gresku protivnika mora da kazni). Takodje, program i protivnik naizmenicno igraju prvi potez. S obzirom na drugi uslov, da se uvek igra najjace, univerzalni algoritam koji bi ovo ispunjavao za table vece od 3x3 polja je jak tesko (da ne kazem nemoguce - odmah ce mi neko skociti u usta :)))) Source je tu i jako je komplikovan, ali to je posledica samog takmicenja koje je bilo tipa KO-PRE.
algoritmi.272 mihailod,
Evo, na zahtev zainteresovanih, ide magistarska teza Victor Allis-a (Holandija). ---------------------------------------------------- A Knowledge-based Approach of Connect-Four The Game is Solved: White Wins Victor Allis Department of Mathematics and Computer Science Vrije University Amsterdam, The Netherlands Master Thesis, October 1988. ---------------------------------------------------- reply for embe: > tesko (da ne kazem nemoguce - odmah ce mi neko skociti u usta :)))) Da, teorija lepo zvuci, ali, nazalost, dokazi teorema o ravnteznoj situaciji i teoreme o minimaksu spadaju u tzv. dokaze egzistencije. Drugim recima, tvrdi se da nesto postoji ali se ne navodi nacin za konstrukciju toga.
algoritmi.273 mihailod,
da probam opet ul... ako ne uspe bice ovih dana... connect4.arj
algoritmi.274 kajko,
Šta mislite o jednom turniru PROGRAMA Sezamovih korisnika u IKS-OKS samo na većoj tabli. Ajd' da čujem mišljenja... O pravilima i načinu igre bi smo se dogovorili. NPR: Mogli bi da igramo na tabli 21x21 i da se ide na 5 u nizu. Potez bi bio ograničen na 20 sekundi, etc... KAJKO
algoritmi.275 mipedja,
>.. Sta mislite o jednom turniru PROGRAMA Sezamovih korisnika u >.. IKS-OKS samo na vecoj tabli. Meni se svidja ideja ( jeste da ne bih bash najslavnije prosao jer se nikad nisam bavio teorijom igara ali...), glasam ZA :). Sto se toga tice, glasam za bilo kakav oblik takmicenja.
algoritmi.276 vasic,
> Šta mislite o jednom turniru PROGRAMA Sezamovih korisnika u IKS-OKS samo > na većoj tabli. > NPR: Mogli bi da igramo na tabli 21x21 i da se ide na 5 u nizu. Potez > bi bio ograničen na 20 sekundi, etc... k00l! :) Time se zabavljalo moje društvo pred kraj trećeg srednje, tamo negde '89. Eh, kad se samo setim... Dok štreberi štrebaju nas nekoliko punom parom pravi XOX v1042.56. Završio sam godinu sa prosekom od celih 4.50000. :) Mislim da je ograničenje od 20 sec. više nego velikodušno. Moj tadašnji program je razmišljao manje od sekunde a radio je na CPC-464. (8-bitni Z80A, 4MHz - info za one koji su tad još bili mali :)) Trebalo bi smisliti neki način da programi razmenjuju poteze bez ljudskog posredovanja - tadašnje igranje preko telefona bilo je prilično naporno i podložno greškama. U najgorem slučaju, svaki program _mora_ imati funkciju za poništavanje poslednjeg odigranog poteza. Anyway, ako budem imao vremena rado ću učestvovati na ovom takmičenju a ako ne, pratiću ga sa zanimanjem.
algoritmi.277 mipedja,
>.. Trebalo bi smisliti neki nacin da programi razmenjuju poteze >.. bez ljudskog posredovanja - tadasnje igranje preko telefona >.. bilo je prilicno naporno i podlozno greskama. U najgorem >.. slucaju, svaki program _mora_ imati funkciju za ponistavanje >.. poslednjeg odigranog poteza. Ma ne, pogledaj fajl uz poruku 9.399, tamo je neko poslao zadatak i propozicije slicnog takmicenja. Moglo bi lepo da se prepravi za nas. Znaci islo bi otprilike ovako : Svaki program igra po jedan potez za jedno startovanje i sve podatke koji ce mu trebati za sledeci put snima u fajl sa prosledjenim mu imenom (svako ima svoj i tu moze da pishe sta hoce). Svi podaci o igri ( ko prvi igra, potez koji je odigrao protivnik itd.) se pishu u fajl koji koriste oba programa. Sve sto ostaje je da moderator ( ili ko je vec nadlezan za ovu temu) napishe programce ( ili batch fajl) koji ce da startuje naizmenicno programe dok partija ne bude gotova ( to ce da se oznaci nekom recju u fajlu ili kreiranjem nekog novog fajla ...). E, a necemo valjda da ostanemo samo na XOX-u ? To nek nam bude samo pocetak ( razigravanje). Samo, nisam video da se ijedno sluzbeno lice javilo da nas podrzi (ili im ja samo ne znam imena:) BTW: Sorry ako sam se mnogo raspisao :)
algoritmi.278 vasic,
> Svaki program igra po jedan potez za jedno startovanje i sve podatke > koji ce mu trebati za sledeci put snima u fajl sa prosledjenim mu imenom Moglo bi, ali ako već pravim XOX onda hoću da mogu i ja da se igram. :) A i nekako mi je sve to ružno i glomazno. Voleo bih da može elgantnije. Recimo - Win32 named pipe i par semafora, mada mi je jasno da to nema šanse da prođe jer će sigurno biti ljudi koji bi hteli da rade u DOS-u ili pod Win16 ili na ZX-81.
algoritmi.279 hadzi,
█ Treba mi algoritam za simulaciju gadjanja u igricama, kao u █ DEZINTEGRATORS, SCORCH, WORMS, itd, znaci 2D(jacina,ugao,vetar) ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Moj drug je imao nesto u pascalu, pa ako treba, javi mi na mail.
algoritmi.280 drejk,
Zasto na mail da ti javi?? Baci u conf.
algoritmi.281 mipedja,
>.. Moglo bi, ali ako vec pravim XOX onda hocu da mogu i ja da se >.. igram. :) A i nekako mi je sve to ruzno i glomazno. Voleo >.. bih da moze elgantnije. Recimo - Win32 named pipe i par >.. semafora, mada mi je jasno da to nema sanse da prode jer ce >.. sigurno biti ljudi koji bi hteli da rade u DOS-u ili pod >.. Win16 ili na ZX-81. OK, ja sam samo predlozio metod koji se vec uspesno upotrebljava. Iskreno, ja nemam druge ideje ( a usput i ne znam da programiram pod windows-ima) pa ako neko ima valjan predlog, neka pozuri, nemam jos mnogo slobodnog vremena. :( BTW: Programi ce definitivno morati da rade na svim sistemima ( i sa svim standardnim kompajlerima)
algoritmi.282 kajko,
>> Svaki program igra po jedan potez za jedno startovanje i sve podatke >> koji ce mu trebati za sledeci put snima u fajl sa prosledjenim mu imenom >> (svako ima svoj i tu moze da pishe sta hoce). >> Svi podaci o igri ( ko prvi igra, potez koji je odigrao protivnik itd.) >> se pishu u fajl koji koriste oba programa. Ljudi, ja se sasvim slažem sa ovim. Trenutno nemam neki pametniji predlog, osim, ukoliko neko nema dva računara kod kuće i stolicu sa točkićima. >> E, a necemo valjda da ostanemo samo na XOX-u ? Ja se nadam da nećemo !!! Neko je ponudio (mrzi me da ganjam sad ko) da se igra 10x10 padajući. Nije loša ideja. Šta ostatak populacije kaže na to ? Inace, ko će da pude organizator, koja su pravila, kada počinjemo, etc... I ja se slažem da malo požurimo... KAJKO
algoritmi.283 obren,
Pošto se zapodenula ideja oko turnira u XOX programima, evo jednog prastarog XOX programa (Turbo Gomoku) koji mi stoji na disku ko zna otkad. xox.com
algoritmi.284 embe,
>> Sta mislite o jednom turniru PROGRAMA Sezamovih korisnika u >>IKS-OKS samo na vecoj tabli. >> Ajd' da cujem misljenja... >> O pravilima i nacinu igre bi smo se dogovorili. Odlicna ideja. Ko se javlja da bude organizator? Ko hoce neka izlozi kostur pravila, pa cemo ih za cas posla usaglasiti . Sto se tice table sasvim je ok 21x21 sa 5 u nizu. Komunikacija (prenosenje poteza) preko fajlova, stim sto bi neko morao da napravi MASTER program za kontrolu poteza, proglasenje pobednika i dodeljivanje poteza (citaj: pozivanje programa-takmicara).
algoritmi.285 qpele,
Ka> Neko je ponudio (mrzi me da ganjam sad ko) da se igra 10x10 Ka> padajuci. Nije losa ideja. Sta ostatak populacije kaze na to ? Mislim da je ovo daleko interesantnija ideja nego obican XOX. Sto se nacina odigravanja tice, mislim da je najefikasnije da programi kao ulazni parametar dobijaju prethodni potez protivnika, a da kao izlaz salju svoj naredni potez, a da se programima ostavi sloboda da organizuju datoteke u kojima ce se pamtiti svi potezi, trenutna situacija i sl. Ovim ce se obezbediti da svako radi u kojem zeli programskom jeziku . Samo jos treba napraviti program koji se koordinisati rad dva protivnicka programa, sto nije veci problem.
algoritmi.286 embe,
>> Ka> Neko je ponudio (mrzi me da ganjam sad ko) da se igra 10x10 >> Ka> padajuci. Nije losa ideja. Sta ostatak populacije kaze na to ? >> Mislim da je ovo daleko interesantnija ideja nego obican XOX. Kakav je to "padajuci" XoX ?
algoritmi.287 kenza,
>> Kakav je to "padajuci" XoX ? Znaci mogu da se dodaju iskljucivo jedan na drugi. Dakle, moras prvo da igras na recimo A1 da bi mogao da odigras A2, pa onda A3 itd. Npr.: 5 X 4 O 3 X 2 O 1 X (Sa leve strane su redni brojevi poteza) Nadam se da si shvatio... Nije bas zgodno ovako za objasnjavanje :) Poz.
algoritmi.288 kajko,
>> Odlicna ideja. Ko se javlja da bude organizator? Ko hoce neka >> izlozi kostur pravila, pa cemo ih za cas posla usaglasiti . >> Sto se tice table sasvim je ok 21x21 sa 5 u nizu. >> Komunikacija (prenosenje poteza) preko fajlova, stim sto bi neko >> morao da napravi MASTER program za kontrolu poteza, proglasenje >> pobednika i dodeljivanje poteza (citaj: pozivanje programa-takmicara). >> Što bi reka N°1: 'Mačka je moja i ja ću je pojesti !'. JA ću da budem organizator, so, slede pravila: 1° Igra se na polju 21x21 sa 5 u nizu. 2° Redovi i kolone moraju biti markirani brojevima i to: gornji levi ugao je (1,1), a donji desni (21,21). Kako bi inače programi razmenjivali poteze ? 3° Programi razmenjuju poteze preko datoteke 'POTEZ.XOX'. Ukoliko je datoteka prazna ili ne postoji, to znači da program igra prvi. Kad odigra potez, briše sadržaj datoteke 'POTEZ.XOX' i u njega smešta svoj potez. Koliko još datoteka treba samom programu, nije bitno. To je njegova interna stvar gde će on u međuvremenu držati podatke o partiji. 4° Ukoliko je potez pobedonosni u datoteku se, pored koordinata stavlja i kod 255. 5° Datoteka je organizovana ovako: prva dva bajta su red, a druga dva bajta su vrsta. To znači da datoteka ima samo 4 (četiri) bajta. U skladu sa prethodnom tačkom, ukoliko je odigrani potez doneo pobedu, datoteka ima 5 (pet) bajtova. 6° Koordinate u datoteci moraju izgledati ovako: '0512' ili '2004', etc. 7° Program koji proglasi pobedu, a do nje nije došlo, automatski će biti diskvalifikovan iz daljeg toka takmičenja. Poeni koje je skupio do tada će ostati njegovi (neće se brisati iz tabele). Za program koji je 'izgubio' piše se rezultat 3:0 u njegovu korist. 8° Vremensko ograničenje za potez je maksimalno 15 sekundi (Intel 166). 9° Vizuelni prikaz toka partije je obavezan ! Kako bi inače ja video da li je do pobede došlo ili ne. Program, kada odigra potez koji nije pobedonosni, snima koordinate i izlazi bez pauze. Ukoliko je potez pobedonosni, zvučni signal bi bio poželjan, kao i poruka i pauza. 10° Dok program razmišlja, na ekranu mora da stoje i koordinate poteza protivnika. Kad se potez 'smisli' koordinate moraju biti prikazane na ekranu. 11° Igra se po principu svaki sa svakim i na 3 (tri) dobijene partije. 12° Svaki korisnik može poslati samo jedan program. 13° Na turniru učestvuju SAMO programi korisnika SEZAM-a. Ništa sa Mreže nije dobrodošlo. 14° Učestvuju SAMO programi za DOS okruženje (za početak...). Lično mislim da je tako najbolje, jer neznaju svi programiranje po WIN-om, ali, ako bude nekoliko programa i za WIN, što da ne... kasnije... 15° Rezultati će ići ovako: trenutna tabela u poruku, a podaci o svakom meču u datoteku uz poruku. 16° Program koji masteriše partije i kreira izveštaje je moja briga. Rok za slanje programa za I XOX turnir je 01.10.1997. Programe šaljete meni na MAIL. Nakon svakog turnira, svi programi koji su u njemu učestvovali, idu u conf, da ih svi mogu pogledati i bolje se spremiti za sledeći turnir. Dajte predlog kako da bodujemo programe i šta sve treba da bude na tabeli. Lično mi se sviđa tabela z PCROBOTS takmičenja. BTW: Da li da opterećujemo conf ili da formiramo grupu, pošto temu u okviru nekog conf-a ne verujem da ćemo dobiti ? KAJKO
algoritmi.289 embe,
>> >> JA cu da budem organizator, so, slede pravila: >> Uzeo bih slobodu da naglas razmisljam o pravilima Tacke 1, 2 - OK. >> 3° ... >> Koliko jos datoteka treba samom programu, nije bitno. To je njegova >> interna stvar gde ce on u meduvremenu drzati podatke o partiji. Ovo mi se cini nedovoljno korektno. Recimo zelim da istestiram jedan program u partiji sa samim sobom. Nastaje haos jer oba programa koriste iste pomocne fajlove za svoj rad. Obavezno se mora predvideti da program-koordinator odredjuje imena fajlova koje ce programi-takmicari koristiti. Njihova imena ce prosledjivati kao parametar komandne linije. Sto se tice broja fajlova koji su potrebni jednom programu za cuvanje svoje pozicije itd. apsolutno je dovoljan jedan fajl. Tacke 4,5,6 - Ne svidja mi se koncepcija >> 4° Ukoliko je potez pobedonosni u datoteku se, pored koordinata stavlja >> i kod 255. Pobedonosni potez ne treba da proglasava takmicar vec program-koordinator. Ovo je ocigledno jer program-koordinator mora biti sposoban da prepozna kraj partije posle svakog odigranog poteza - prema tome izlisno je da se takav potez posebno obelezava. Shodno ovome tacka 7 (o samoproglasenju pobede) je izlisna. Tacka 6. - OK >> 8° Vremensko ogranicenje za potez je maksimalno 15 sekundi (Intel 166). Merenje vremena ? Kako ? Ako pricamo o DOS programima (a pricamo) dok se neki takmicarski program "premislja" o potezu, program koji bi bio zaduzen za mrenje vremena stoji. Tek kada takmicar zavrsi i "iznedri" potez moze se utvrditi koliko dugo je on razmisljao ali onda, po meni, sasvim je bez veze ponistiti mu potez jer je prekoracio vreme. Znaci sustina je u tome da se proces "razmisljanja" nekog programa ne moze prekinuti silom. Kazna za spore programe je usmena kritika :)) a za one koji se "zaglavljuju" - gubitak partije. >> 9° Vizuelni prikaz toka partije je obavezan ! Kako bi inace ja video da li >> je do pobede doslo ili ne. Program, kada odigra potez koji nije Mislim da je bespotrebno da takmicarski program radi vizuelizaciju partije. Prvo - cemu sluzi program-koordinator a drugo, mnogo grubo izgleda "paljenje" grafike naizmenicno jednog i drugog programa. Tacke 11,12,13,14 - OK. ZAKLJUCAK: E sad, nemoj da mislis da sam "ispljuvao" tvoje predloge. Prvo, da ti se zahvalim sto si se zalozio i zalegao za ovo takmicenje. Hteo sam samo da ukazem na neke nedostatke i ako smem, da uticem na samu tehnologiju turnira. Evo mojih predloga: 1. Mora se napraviti takav koordinatorski program koji ce voditi racuna o svemu. (Pravio si robote za PCROBOTS pa znas o cemu pricam). Naime, ovaj program ce kao ulazne parametre imati samo imena takmicarskih programa, izvodice takmicenje pozivajuci naizmenicno takmicare, prikazivati trenutnu situaciju, proglasavati pobednika itd. 2. Programi takmicari bice pozivani od programa koordinatora (spolja nevidljivo) i kao rezultat davace svoj potez. Naravno, imena fajlova (za svoj rad i za slanje rezultata) kao i poslednji potez protivnika dobijace kao parametar sa komandne linije. I to je sve sto oni treba da rade. Takav koordinatorski program sam gotovo doveo do kraja. Jos mi je ostalo da doradim samo neke sitnice pa cu ti ga predati. Prvo cu ga poslati da se istestira a onda moze i postati koristan onima koji prave takmicare - da ih mogu istestirati pre slanja na takmicenje. Vazna opcija ovog programa je sto pored igre PROGRAM-PROGRAM, omogucava i igru COVEK-PROGRAM i PROGRAM-COVEK (naravno i COVEK-COVEK :))) Program stize najkasnije sutra (18.09) i pratice ga uputsvo za upotrebu. Pozdrav, Milan.
algoritmi.290 space.ace,
Malih komentara povodom pravila: ║ 3° Programi razmenjuju poteze preko datoteke 'POTEZ.XOX'. Ukoliko ║ je datoteka prazna ili ne postoji, to znači da program igra prvi. ║ Kad odigra potez, briše sadržaj datoteke 'POTEZ.XOX' i u njega smešta ║ svoj potez. ╚════ Mislim da je bolje ovako: program u stdin prima podatke o potezu protivnika (ekvivalentno čitanju potez.xox), zatim na stdout piše svoj potez (takođe ekvivalentno pisanju u potez.xox). Sad, postojao bi program (mediator), koji bi sređivao sve ove podatke između dva programa u meču i snabdevao ih podacima (ispis na stdout -> programski stdin). Valjda neko razume ovo? Samim tim, mediator program bi i iscrtavao status partije i poteze, takođe i proglašavao pobednika... ║ 4° Ukoliko je potez pobedonosni u datoteku se, pored koordinata stavlja ║ i kod 255. ╚════ ...čime je nepotrebna stavka 4. Razumete li me? ║ 9° Vizuelni prikaz toka partije je obavezan ! Kako bi inače ja video da li ║ je do pobede došlo ili ne. Program, kada odigra potez koji nije ╚════ Ne znam na šta misliš, da li da program prikazuje tok partije ili nešto drugo. Ako se napravi mediator, on će vršiti vizuelni prikaz na ekranu. ║ 13° Na turniru učestvuju SAMO programi korisnika SEZAM-a. Ništa sa Mreže ║ nije dobrodošlo. ╚════ Shvatite ovo kako hoćete, ali mene neće biti na sistemu za desetak dana, pa se nadam da ću, kao "bivši" Sezamovac imati pravo da pošaljem svoj program, valjda sam zaslužio? ;))
algoritmi.291 kenza,
>> BTW: Da li da opterecujemo conf ili da formiramo grupu, posto temu Ma, u conf. Ne verujem da je grupa dovoljno velika da primi sve zainteresovane.
algoritmi.292 embe,
Da ne citiram poruku, ovo je u vezi sa turnirom programa u iksoksu. Kao sto sam najavio u poruci 1.289 zavrsio sam "beta" verziju programa-kontrolora (odn.moderatora meceva) Uz program saljem i takmicara (uslovno receno jer ovaj moze da pobedi samo sebe) ali moze da posluzi za testiranje i kao sablon za pravljenje vasih takmicara. Sve sugestije su dobrodosle i voleo bih da cujem vase misljenje. Pozdrav, Milan. xox2121.zip
algoritmi.293 nenad,
> 3° Programi razmenjuju poteze preko datoteke 'POTEZ.XOX'. Ukoliko > je datoteka prazna ili ne postoji, to znači da program igra prvi. > Kad odigra potez, briše sadržaj datoteke 'POTEZ.XOX' i u njega > smešta svoj potez. > Koliko još datoteka treba samom programu, nije bitno. To je njegova > interna stvar gde će on u međuvremenu držati podatke o partiji. Predlažem ti da uvedeš obavezu da oba programa prave log partije u svoj fajl kao bi posle mogao da uporediš logove i na lak način preduprediš bilo kakva varanja, samim tim i automatizuješ potpuno celo takmičenje. > BTW: Da li da opterećujemo conf ili da formiramo grupu, pošto temu > u okviru nekog conf-a ne verujem da ćemo dobiti ? Nema razloga da se priča ne nastavi ovde. Lepo bi bilo kada bi se uveo i uslov da se nakon turnira prezentiraju sors-ovi, i kao potvrda autentičnosti programa, i kao mogućnost da jedni od drugih nešto naučimo.
algoritmi.294 kajko,
>> >> 3° ... >> Obavezno se mora predvideti da program-koordinator odredjuje imena >> fajlova koje ce programi-takmicari koristiti. Njihova imena ce Apsolutno se slažem. >> >> 4° Ukoliko je potez pobedonosni u datoteku se, pored koordinata stavlja Do tog zaključka sam i sam došao dok sam razmišljao o masterisanju. Moraće biti gadnih tumbanja po onim pravilima :) >> >> 8° Vremensko ogranicenje za potez je maksimalno 15 sekundi (Intel 166). Vremensko ograničenje neće da bude... >> >> 9° Vizuelni prikaz toka partije je obavezan ! Kako bi inace ja video da li Ispravno. >> Takav koordinatorski program sam gotovo doveo do kraja. Jos mi je Pošto ga ti već radiš, ja se neću bakćati s njim. Kad ga pogledam, javiću... ===== Moram da priznam da su mi u trenutku pisanja pravila, ona izgledala sasvim logično, ali kad je na red došlo i pisanje programa, kako takmičara, tako i mastera, uvideo sam velike omaške moje male mane, brzopletosti. Sugestije su više nego opravdane, so, hvala... KAJKO
algoritmi.295 kajko,
>> Shvatite ovo kako hoćete, ali mene neće biti na sistemu za desetak dana, >> pa se nadam da ću, kao "bivši" Sezamovac imati pravo da pošaljem svoj >> program, valjda sam zaslužio? ;)) Opet moja brzopletost... Naravno da je svim dobronamernicima dozvoljeno da učestvuju. Samo sam hteo da predupredim neke, nama znane, malverzacije... I na kraju... Dobrodošao si i ti i tvoj program... KAJKO
algoritmi.296 kajko,
>> Sve sugestije su dobrodosle i voleo bih da cujem vase misljenje. Program je 'boli glava' kao i pravila koja nameće. Ja ga predlažem za standard. Hvala... PS. Takmičenje će se izvoditi na njemu i po pravilima koja on nameće. KAJKO
algoritmi.297 kajko,
>> Sve sugestije su dobrodosle i voleo bih da cujem vase misljenje. >> Prilagodio sam svog takmičara (naravno, ako sme da učestvuje u turniru) prema pravilima Master-programa, i radi super... Imam par sugestija za master program: 1° Pored naziva igrač X i O uvesti nazive programa. Na primer 'Igrac X: XOX.EXE' i 'Igrac O: KAJKO.EXE' 2° Nisam primetio neki LOG fajl. Mislim, pošto master vodi računa o igri (proglašava pobednika, detektuje remi, ...) bilo bi lepo da on snimi ceo tok partije u datoteku. Na primer: XOX.EXE KAJKO.EXE ==================================== 001: 10 07 09 07 002: 09 08 08 07 ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ XXX: 10 10 ==================================== Pobeda igraca X: XOX.EXE 3° Pošto se potezi oba igrača vide na ekranu, uvesti neke prekidače u sam master kojim se može reći da odigrava poteze bez pauze (osim kad objavi pobednika) ili, bar, sa pauzama posle odigranog poteza oba programa. Nadam se da će moje sugestije biti uzete u razmatranje. Vrlo mi je bitan izgled LOG fajla, jer ću na osnovu njega da završim program koji će biti Registrator takmičara. Naime, program će registrovati takmičare, samim tim i potreban broj kola za sistem svako_sa_svakim, izvlačiti parove, pozivati Master za odigravanje partija, deliti bodove, praviti tabelu, generisati izveštaje koji će biti slati ovamo, ... i td. Kad budem znao izgled LOG fajla, završiću program i šutnuti ga ovde na razmatranje i sugestije. KAJKO
algoritmi.298 kajko,
>> uveo i uslov da se nakon turnira prezentiraju sors-ovi, i kao >> potvrda autentičnosti programa, i kao mogućnost da jedni od >> drugih nešto naučimo. >> Programi takmičari će sigurno iši u conf, ali što se tiče sors-a, to je LIČNA stvar samog autora programa, i ja tu ne mogu ništa. Sors mog programa će, svakako, ići uz moj program. KAJKO
algoritmi.299 obren,
> Dve za opstinu, 0 za muske 5 (!) za zenske, dve cifre redni broj i > jedna kontrolna cifra. Moj matični broj je xxxxxxx782848, dakle nema nigde te nule koju pominješ?
algoritmi.300 embe,
>> Imam par sugestija za master program: >> >> 1° Pored naziva igrac X i O uvesti nazive programa. >> Na primer 'Igrac X: XOX.EXE' i 'Igrac O: KAJKO.EXE' Uradjeno. >> 2° Nisam primetio neki LOG fajl. Mislim, posto master vodi racuna >> o igri (proglasava pobednika, detektuje remi, ...) bilo bi >> lepo da on snimi ceo tok partije u datoteku. Na primer: >> >> XOX.EXE KAJKO.EXE >> ==================================== >> 001: 10 07 09 07 >> ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ >> XXX: 10 10 >> ==================================== >> Pobeda igraca X: XOX.EXE LOG fajl nisam stigao da zavrsim za prvu verziju , jer sam zurio da dovedem u red funkcionalnost programa. LOG fajl je sada uradjen. LOG faj sadrzi sledece informacije: ko je na potezu, kako se poziva (sa kojim argumentima) program takmicar, sta je procitano iz fajla za razmenu poteza i koji potez je odigran. Naravno tu su i poruke ishodu meca i o greskama (i o vrsti greske) jer pored pracenja toka partije LOG fajl treba da sluzi i za "debug", pa sam tu "nakrkao" sve sto je meni bilo od pomoci pri pravljenju mog programa-takmicara. Naravno izmene su moguce >> 3° Posto se potezi oba igraca vide na ekranu, uvesti neke prekidace >> u sam master kojim se moze reci da odigrava poteze bez pauze >> (osim kad objavi pobednika) ili, bar, sa pauzama posle odigranog >> poteza oba programa. Pravo je cudo kako mislimo o istim stvarima. Uradjeno i ovo. Sada postoje tri brzine : spora - zahteva pritisak na tastaturu posle svakog poteza (default), srednja - odigrava bez prekida sa pauzama od oko 1 sec, i brza brzina - nesto brza od srednje. >> Nadam se da ce moje sugestije biti uzete u razmatranje. Mnogo hvala. Sve je usvojeno. >> Vrlo mi je bitan izgled LOG fajla, jer cu na osnovu njega da zavrsim >> program koji ce biti Registrator takmicara. Naime, program ce >> registrovati takmicare, samim tim i potreban broj kola za sistem >> svako_sa_svakim, izvlaciti parove, pozivati Master za odigravanje >> partija, deliti bodove, praviti tabelu, generisati izvestaje >> koji ce biti slati ovamo, ... i td. ... i da kuva, pere ves, pegla ::))) Pa sta ces onda ti da radis? Samo da stisnes dugme ? :))))) Sto se tice LOG fajla i svih gore navdenih izmena, sve je ugradjeno, ostala mi je nezavrsena samo sitna kozmetika. Program saljem do otvaranja birackih mesta :) Sto se tice toga da li moze tvoj program da ucestvuje - naravno da moze. Jednostavan postupak za legalizaciju celog takmicenja je sledeci: PRE pocetka takmicenja, sve programe takmicare ubacis u jednu sifrovanu ZIP arhivu (dobro je sifruj - ovde su veliki hakeri :)) - sa puno malih i velikih slova), koju posaljes ovde u konferenciju. Kada se takmicenje zavrsi, u konferenciji objavis sifru. (Sifruje se zato da takmicenje ne izgubi neizvesnost.) Ovime se pruza mogucnost naknadne provere rezultata meceva - prema tome nece biti nikakvih nepravilnosti.
algoritmi.301 embe,
Evo master programa (programa-kontrolora) XOX2121 v.2.1b Sve sugestije od strane KAJKA sam uvazio. U arhivi se osim glavnog programa XOX2121.EXE i fajlova neophodnih za njegov rad, nalazi i jedan program takmicar (XOX.EXE) skromnih mogucnosti, koji je tu samo radi testiranja. Obavezno procitati uputstvo koje se nalazi u fajlu README.1ST a takodje prvi put startovati XOX2121 /? ,da bi se pogledao spisak novododatih opcija. Sve sugestije su dobrodosle, a takodje i ako ima nekih problema u radu ovog programa ili u radu ovog programa sa vasim programima- -takmicarima tu sam. Evo XOX2121 v.2.1b i neka vam je sa srecom. xox2121.zip
algoritmi.302 snemcev,
>> Moj matični broj je xxxxxxx782848, dakle nema nigde te nule koju >> pominješ? Izvini što idem preko tvoje poruke, al' mi je dobro poslužila za ilustraciju. Redni broj upisa, koji je u matičnom broju posle dvocifrene šifre opštine (ono 284 u tvom matičnom broju), je trocifren i za mušku decu počinje od 001, a za žensku decu počinje od 501. Ako je taj redni broj manji od 500, dete je muško, a ako je veći od 500, dete je žensko. Simple as that.
algoritmi.303 kajko,
Nakon dugotrajne razmene mišljenja i sugestija došlo je do značajnog pomaka na bolje u vezi turnira XOX. Pravila za učešće na I XOX turniru su znatno izmenjena, so, čitajte: 1° Igra se na polju 21x21 sa 5 u nizu. 2° Redovi i kolone moraju biti markirani brojevima i to: gornji levi ugao je (1,1), a donji desni (21,21). 3° Program mora biti DOS EXE ili COM program. Što se tiče veličine, ne bi trebalo da prelaze veličinu od 300Kb !! Programski jezik nije bitan. 4° Mora da se obezbedi prenošenje argumenata sa komandne linije. Argumenata ima ukupno četiri (4) - Prvi argument je ime fajla koji se koristi za smeštanje odigranog poteza. Taj fajl treba da bude tekstualni (ASCII) fajl. Potez se zapisuje u obliku dva cela broja razdvojena najmanje jednim spejsom (blankom). Fajl treba da sadrzi samo jedan jedini potez. Jos jedan uslov za taj fajl je da se zatvori kada se u njega upiše potez (da bi master program (XOX2121) mogao da ga otvori i procita njegov sadrzaj). Potez se označava sa dva broja koji (svaki od njih) mogu biti od 1 do 21. Šta je vrsta a šta kolona, odlučuje sam program. - Drugi argument je ime fajla koji sam program-takmičar koristi za svoje interne potrebe (da pamti poslednju poziciju na tabli, svoje i tuđe poteze i šta god joć). - Treći i četvrti argument predstavlja poslednji odigrani potez protivnika. To su dva cela broja opsega od 1 do 21. Takođe, šta je vrsta a šta kolona određuje sam program-takmičar. Bitno je da je to usvojeno isto i za ulaz i za izlaz. Ukoliko je u pitanju prvi potez u partiji treći i četvrti argument (poslednji odigrani potez protivnika) izostaju, tj. program-takmičar se poziva samo sa prva dva argumenta: Recimo da se program takmičar zove XOX.EXE Program-kontrolor ce ga u slucaju da je u pitanju prvi potez u partiji pozvati otprilike ovako: XOX OUT.TXT TMP001 a zadatak XOX.EXE programa je da prepozna da je u pitanju prvi potez, odluči gde će da igra, zapamti novonastalu poziciju, snimi je u fajl TMP001 i taj potez snimi u ASCII fajl OUT.TXT i naravno zatvori ga. Svako sledece pozivanje ovog programa vršiće se sa joć dva argumenta, npr. ovako: XOX OUT.TXT TMP001 12 9 Naravno da ime fajla za cuvanje pozicije ostaje isto tokom cele partije. Brojevi 12 odnosno 9, predstavljaju poslednje odigrani potez protivnika. Oni su iskontrolisani i ispravni. Zadatak XOX.EXE je da prvo učita staro stanje na tabli, registruje potez protivnika, odluči se za svoj potez, snimi novo stanje na tabli, a svoj potez odstampa u fajl OUT.TXT Napomena: program-takmicar moze da otvara i zatvara samo fajlove sa menima koje je dobio od programa-kontrolora. 5° Vremensko ograničenje za odigravanje poteza ne postoji. Ukoliko se program zaglavljuje, automatski gubi meč. 6° Vizuelni prikaz toka partije 'nesme da bude'. 7° Igra se po principu svako sa svakim i to 6 (šest) partija. Prvobitna ideja je bila da se igra na tri dobijene partije, ali bi tada program koji igra prvi, bio u prednosti. Ovako će svaki program imati podjednake šanse, jer 3 (tri) puta igra prvi i 3 (tri) puta igra drugi. 8° Svaki korisnik može poslati samo jedan program. 9° Rezultati će ići ovako: trenutna tabela u poruku, a podaci o svakom meču u datoteku uz poruku. Rok za slanje programa za I XOX turnir je 01.10.1997. Programe šaljete meni na MAIL. Pre početka turnira, svi programi koji će u njemu učestvovati će ići u conf spakovani pod šifrom. Nakon turnira, zajedno sa zaključnom tabelom ići će i ključ arhive, tako da svako može da proveri rezultate na svom računaru. Takmičenje će se izvoditi na EMBE-ovom programu za masterisanje (poruka 300) te predlažem da ga svi zainterosovani za učešće na turniru skinu. Uz njega dolazi i dokumentacija koje je i više nego dovoljna. Neke delove iz dokumentacije sam prekucao (COPY-PASTE) ovde za slučaj da nisu svi skinuli program. Samim tim, izvinjavam se EMBE-u za citiranje bez pitanja. Ostaje otvoreno pitanje bodovanja programa. Ukoliko nemate zamerki, usvoio (nadam se da se tako piše !?) bih način bodovanja iz takmičenja PCROBOTS. I tabela bi bila identična. >> >> partija, deliti bodove, praviti tabelu, generisati izvestaje >> >> koji ce biti slati ovamo, ... i td. >> >> ... i da kuva, pere ves, pegla ::))) >> Pa sta ces onda ti da radis? Samo da stisnes dugme ? :))))) Ja ću da se skoncentrišem na same programe i igru koju pružaju. Komentari o svakom programu i odigranoj partiji će biti obimni. Bilo bi vrlo mukotrpno ispuštati olovku i pritiskati dugme za sledeći potez (u drugoj ruci mi je obično cigareta). Verujem (a vi me razuverite) da će se tokom turnira iskristalisati programi koji zavređuju pažnju, dok še drugi tu biti samo za gaženje i prepuštanje bodova :). Takve mečeve ću vrlo malo komentarisati :>. PS: Poruka je malo duža, ali vredi... KAJKO
algoritmi.304 embe,
>> Takmicenje ce se izvoditi na EMBE-ovom programu za masterisanje >> (poruka 300) te predlazem da ga svi zainterosovani za ucesce na >> turniru skinu. Uz njega dolazi i dokumentacija koje je i vise nego Mala ispravka, program se nalazi u poruci 301. >> Rok za slanje programa za I XOX turnir je 01.10.1997. >> Programe saljete meni na MAIL. Pre pocetka turnira, svi programi koji Moj takmicar je vec gotov ali sacekacu malo do njegovog slanja (da ne budem bas prvi). Jedna me stvar interesuje, a to je koliko ljudi stvarno namerava da napravi svog takmicara? Ne bih da baksuziram ali nisam bas veliki optimista. Najgore bi bilo da nas dvojica odigramo privatni turnir u javnoj konferenciji. Mozda bi trbalo da se ovaj turnir malo izreklamira u konferenciji IGRE ? Na kraju krajeva ovo i jeste igra.
algoritmi.305 kajko,
>> Jedna me stvar interesuje, a to je koliko ljudi stvarno namerava >> da napravi svog takmicara? Ne bih da baksuziram ali nisam bas >> veliki optimista. Najgore bi bilo da nas dvojica odigramo privatni >> turnir u javnoj konferenciji. Znas kako je... Na početku je ideja naišla na veliki odjek, kao i mnoge druge. Ali, kad dođe na red slanje takmičara onda bude ono: "Nisam stigao, ali...", "...imam ispit, ali...", "...sa zanimanjem ću pratiti...", ... Nadam se da neće biti tako... >> Mozda bi trbalo da se ovaj turnir malo izreklamira u konferenciji >> IGRE ? Na kraju krajeva ovo i jeste igra. >> Ideja nije loša, već urađeno !!! KAJKO
algoritmi.306 embe,
Evo jednog takmicara za igru XOX2121. Ovo nije prijava za takmicenje. Pravi takmicar ceka zadati rok da bude poslat. U medjuvremenu, igrajte XOX2121 sa ovim programom i testirajte svoje programe u borbi sa njim. karpov.arj
algoritmi.307 tomcat,
> Jedna me stvar interesuje, a to je koliko ljudi stvarno namerava > da napravi svog takmicara? Ne bih da baksuziram ali nisam bas > veliki optimista. Najgore bi bilo da nas dvojica odigramo privatni Ja sam uveliko zainteresovan :) Sto se propozicija tice, predlazem da se dozvoli programima interno koriscenje dodatnog fajla. Ja na umu imam ideju da program uci na greskama i za to je potrebno da snima analize odigranih partija kako bi ih mogao koristiti. Pozdrav, ................................. tomcat@galeb.etf.bg.ac.yu http://galeb.etf.bg.ac.yu/~tomcat
algoritmi.308 embe,
>Ja sam uveliko zainteresovan :) >Sto se propozicija tice, predlazem da se dozvoli programima interno koriscenje >dodatnog fajla. Ja na umu imam ideju da program uci na greskama i za to je >potrebno da snima analize odigranih partija kako bi ih mogao koristiti. U principu (ali samo u principu) nemam nista protiv ovoga, ali mislim da neces imati ama nikakve vajde od "ucenja na greskama". Razlog je sledeci: Mec izmedju dva takmicara traje 6 partija. Za to vreme tvoj takmicar (bez uvrede :)) nece nista "nauciti" (kako ovo blesavo zvuci) jer je to isuvise malo partija da bi se osetio "napredak" na osnovu "iskustva". Sledecem takmicaru moraju se dati isti uslovi kao i prethodnom, sto znaci da tvoj takmicar opet ulazi u mec "bez iskustva". Znaci fajl sa "iskustvom" mora da se obrise. Znaci, tvoja ideja je neprimenljiva za turnir. Druga je stvar da tvoj takmicar stigne na turnir sa "iskustvenim fajlom" ali taj fajl se ne ne sme menjati u toku turnira zbog principa ravnopravnosti svakog takmicara. To znaci da taj fajl moses samo da citas a ne da pises u njega. A ako stvari tako stoje, onda se taj fajl sa "zapecacenim iskustvom" moze ugraditi u EXE i onda prestaje potreba za nekim drugim fajlovima.
algoritmi.309 kajko,
>> U principu (ali samo u principu) nemam nista protiv ovoga, ali mislim >> da neces imati ama nikakve vajde od "ucenja na greskama". Razlog je Što se tiče 'učenja na greškama' ideja nije loša. Voleo bih da vidim taj program, ali kao što reče EMBE, taj program je neupotrebljiv za turnir. Svi programi na turniru su u jednom košu, stoga, moraju biti ravnopravni. Ako možeš nešto da ga 'naučiš' do početka turnira, možeš. Na turniru može da bude samo program, bez pratećih datoteka. To implicira ugradnju 'pameti' u sam EXE (ili COM) fajl. Bliži se krajnji rok za slanje programa koji je 01.10.1997. godine. Požurite... KAJKO
algoritmi.310 tomcat,
> >> U principu (ali samo u principu) nemam nista protiv ovoga, ali mislim > >> da neces imati ama nikakve vajde od "ucenja na greskama". Razlog je > Sto se tice 'ucenja na greskama' ideja nije losa. Voleo bih da vidim > taj program, ali kao sto rece EMBE, taj program je neupotrebljiv za turnir. Imao sam tu ideju, jer mi je jednostavno bilo previse mukotrpno da razmisljam o strategiji "linearnog" igranja ovakve vrste XOX-a. Onda sam uvideo da ni to nije tako lako izvesti i presao da radim rekurzivan program (opet, mrzelo me je da se udubljujem previse u strategiju). Uradio sam experiment sa dubinom od 4 polupoteza i mali se pokazao ne samo glup nego i spor (10-15 sec, P150+) tako da sam danas primoran da predjem na izradu lineranog resenja. Btw. Embe, svaka cast na onako brzo uradjenom masteru. > Blizi se krajnji rok za slanje programa koji je 01.10.1997. godine. > Pozurite... Koliko se ljudi uopste prijavilo? Da li ti pomenu sah negde? Imam uradjen i sahovski program :) ................................. tomcat@galeb.etf.bg.ac.yu http://galeb.etf.bg.ac.yu/~tomcat
algoritmi.311 tomak,
> > Blizi se krajnji rok za slanje programa koji je 01.10.1997. godine. > > Pozurite... > > Koliko se ljudi uopste prijavilo? Nisam video prijave a posle slanja embe-ovog 'karpova' (koji i nije kandidat) verovatno je bilo odustajanja. Sada mi se čini da kandidat koji uspeva da ga pobedi dobija dozvolu za turnir :) pa 'prijavljujem' da ću poslati svog kandidata.
algoritmi.312 kajko,
Here I go again. Narode, istekla mi pretplata u Subotu. Šćeo sam d*pe da si odgrizem. Ali sad sam tu. Prva prijava (osim moje) je već stigla. EMBE je poslao svog takmičara. Nećemo valjda samo nas dvojica da se tabamo ? KAJKO
algoritmi.313 popovics,
>>Nećemo valjda samo nas dvojica da se tabamo ? Nećete, ako mi detaljno objasniš kakav takmičar treba da bude. ======== P.S Jesi li zaboravio za uputstvo za TR?
algoritmi.314 embe,
>> >>Necemo valjda samo nas dvojica da se tabamo ? >>Necete, ako mi detaljno objasnis kakav takmicar treba da bude. >> ======== Detaljno uputstvo je vec dato u ovoj konferenciji (poruke 1.301+...) Prvo uzmi program-kontrolor (poruka 1.301). U njegovom uputstvu detaljno je opisano kakav takmicat treba da bude. Ako ima nekih problema, javi se.
algoritmi.315 vector,
> Da li ti pomenu sah negde? Imam uradjen i sahovski program :) Hoces da isprobas svog Gandalfa (valjda se tako zove)? ;)
algoritmi.316 kajko,
Prijem takmirasskih programa za igru XO 21x21 je gotov rezujtati ce biti izneti do kraja nedelje. Kajko
algoritmi.318 tomak,
> Prijem takmirasskih programa za igru XO 21x21 je gotov > rezujtati ce biti izneti do kraja nedelje. Moželi se znati koliko takmičara ima i hoće li biti ovoga: CONF PCPROG.6:algoritmi.303 > Programe šaljete meni na MAIL. Pre početka turnira, svi programi koji > će u njemu učestvovati će ići u conf spakovani pod šifrom. Nakon > turnira, zajedno sa zaključnom tabelom ići će i ključ arhive, tako > da svako može da proveri rezultate na svom računaru.
algoritmi.319 kajko,
Počinje I XOX turnir. Takmičara ima ukupno 4 (slovima: četiri). Bedno... Takmičari: 1. ANAND.COM -> embe 2. MALISA.EXE -> tomak 3. VINKOM.EXE -> vinkom 4. KAJKO.EXE -> kajko --- I XOX Status Report --- Rezultati 1. kola 'I XOX Turnir'-a: đ Program đ Win đ Lo. đ Drw đ P đ % ------------------------------------------------- 1. ANAND.COM 0 6 0 0 33.333 MALISA.EXE 6 0 0 3 66.667 2. VINKOM.EXE 2 4 0 0 33.333 KAJKO.EXE 4 2 0 3 66.667 ------------------------------------------------- Ovo su bili prvi mečevi na osnovu kojih se malo može reći o kvalitetu programa ( koji doduše ni kod jednog takmičara nije na visokom nivou, ali su za početak i više nego dobri :). Iz plejade moram da izdvojim ANAND-a koji, kako se meni čini, nije dorastao ostalim takmičarima. Embe-u usmena kritika (ne zbog brzine, već zbog kvaliteta igre njegovog programa). Naime, ANAND ne igra na 'duže staze' već samo po trenutnom stanju na tabeli. To se pokazalo kao katastrofalna taktika. Mališa će sigurno daleko da dogura. Drugi meč je bio meč približno jednakih programa. Kvalitetna igra bez pardona. Pobedio je bolji :>. Što se tiče bodovanja, uzet je 'fudbalski' sistem bodovanja. Pobeda = 3 poena, nerešeno po 1, a poraz = 0 poena. Tako vam je, kako vam je. Naime, samo takmičenje će ići malo ubrzanim tempom, jerbo sam dobio papire za Nemačku, a tamo me pos'o već čeka :))))). A sad... RangLista posle odigranog 1. kola 'I XOX Turnir'-a: No. đ Program đ OM đ Bod đ Procent đ Autor ------------------------------------------------------------------------- 1. MALISA.EXE 1 3 100.000 tomak 2. KAJKO.EXE 1 3 66.667 kajko 3. VINKOM.EXE 1 0 33.333 vinkom 4. ANAND.COM 1 0 0.000 embe ------------------------------------------------------------------------- Uz poruku ide i arhiva u kojoj se nalaze podaci o mečevima i arhiva sa takmičarima koja je spakovana pod šifrom. Šifra za otključavanje arhive ići će u poruci sa zaključnom tabelom. Sama arhiva uz poruku nije šifrovana :). KAJKO xox_i.zip
algoritmi.320 embe,
>> Pocinje I XOX turnir. Takmicara ima ukupno 4 (slovima: cetiri). Bedno... >> >> Takmicari: >> 1. ANAND.COM -> embe >> 2. MALISA.EXE -> tomak >> 3. VINKOM.EXE -> vinkom >> 4. KAJKO.EXE -> kajko Ne smatram da je 4 takmicara malo (za pocetak). Bice taman dovoljno da, ako bog da, privuce jos toliko za sledeci turnir. Svaka tebi cast na ekspeditivnosti. >> Iz plejade moram da izdvojim ANAND-a koji, kako se meni cini, nije dorastao >> ostalim takmicarima. Embe-u usmena kritika (ne zbog brzine, vec zbog >> kvaliteta igre njegovog programa). Naime, ANAND ne igra na 'duze staze' vec >> samo po trenutnom stanju na tabeli Prvo da se odbranim od 'teskih' reci :)) Moj takmicar ima gresku (moja greska, umesto da stavim >= stavio sam ==). Sto se tice igranja na duze staze, gledajuci ostale takmicare, ni jedan ne igra vise od 1 poteza unapred, sto i nije neko razmisljanje unapred, vec pracenje poznate seme. Ni jedan takmicar nema razmisljanje za forsirani dobitak u 3 poteza, a to bi bilo nekakvo razmisljanje na duze staze. To sto ce moj takmicar da zavrsi na zacelju, posledica je jedne rupe u odbrani i tako mi i treba sto brzam.
algoritmi.321 tomak,
> Ne smatram da je 4 takmicara malo (za pocetak). Bice taman dovoljno da, > ako bog da, privuce jos toliko za sledeci turnir. Svaka tebi cast na > ekspeditivnosti. E imam osećaj - da nisi okačio 'napoleona' bilo bi ih više. > >> Iz plejade moram da izdvojim ANAND-a koji, kako se meni cini, nije > dorastao >> ostalim takmicarima. Embe-u usmena kritika (ne zbog brzine, vec > zbog >> kvaliteta igre njegovog programa). Naime, ANAND ne igra na 'duze > staze' vec >> samo po trenutnom stanju na tabeli > > Prvo da se odbranim od 'teskih' reci :)) Moj takmicar ima gresku (moja > greska, umesto da stavim >= stavio sam ==). Sto se tice igranja na duze Hteo sam da sačekam kraj turnira, pa da iznesem svoje utiske, ali sada moram da reagujem - pošto je Embe poslao program sa greškom. Mislim da je Embe zaslužio da se takmičenje (tačnije bodovanje) PONOVI, sa njegovim ispravljenim pogramom. Ovo zato što smo mi ostali mogli da ispravljamo greške ... i sa njegovim 'napoleonom', zato što je učestvovao u organizaciji, zato što je odma' uleteo sa svojim masterom, ... i bre da nije sve to uradio - trebalo bi. Šta kažu na ovo Kajko i Vinkom a i ostali? Ovom priliko bi' se zahvalio i Kajku na ideji i organizacji. Što se posla tiče želim uspeha i sreće tamo u tuđini. > greska, umesto da stavim >= stavio sam ==). Sto se tice igranja na duze > staze, gledajuci ostale takmicare, ni jedan ne igra vise od 1 poteza > unapred, sto i nije neko razmisljanje unapred, vec pracenje poznate seme. > Ni jedan takmicar nema razmisljanje za forsirani dobitak u 3 poteza, a > to bi bilo nekakvo razmisljanje na duze staze. Što se 'razmišljanja' takmičara tiče, (mislim da) imam ideju kako bi mogao da izgleda takav program - da napada sa 'prozmišljanjem' koji će potez da odigra ...
algoritmi.322 vule.,
Treba mi HERC.BGX da bi igrao XOX. Ako bi bili ljubazni da mi ga posaljete...
algoritmi.323 vinkom,
>> nije sve to uradio - trebalo bi. Sta kazu na ovo Kajko i Vinkom a >> i ostali? Sto se mene tice nema problema. Iskoristio bi priliku da pohvalim samu ideju o organizovanju ovakvog takmicenja i izrazim zelju da se ono i nastavi. Kad vidimo protivnicke programe imacemo otprilike kriterij koliko mora biti dobar program takmicar, pa ce i svako sledece takmicenje biti neizvesnije, a time i zanimljivije.
algoritmi.324 tomak,
> Treba mi HERC.BGX da bi igrao XOX. Ako bi bili ljubazni da mi ga > posaljete... Evo ali vidi se samo 16x21. herc.bgx
algoritmi.325 embe,
>> Hteo sam da sacekam kraj turnira, pa da iznesem svoje utiske, ali >>sada moram da reagujem - posto je Embe poslao program sa greskom. Mislim >>da je Embe zasluzio da se takmicenje (tacnije bodovanje) PONOVI, sa >>njegovim ispravljenim pogramom. Ovo zato sto smo mi ostali mogli da >>ispravljamo greske ... i sa njegovim 'napoleonom', zato sto je ucestvovao u >> organizaciji, zato sto je odma' uleteo sa svojim masterom, ... i bre da >> nije sve to uradio - trebalo bi. Sta kazu na ovo Kajko i Vinkom a i ostali? Mnogo hvala na zauzimanju za moj 'slucaj', ali ja prvi, nisam za ponavljanje borbi mog takmicara iz prostog razloga sto bi to znacilo izvestan popust za neke od takmicara (npr mene). Kakav je takav je - prijavljen je za takmicenje, pa kom obojci kom opanci. Jos jednom hvala na lepim recima, ali samo da se zna, moracete napraviti mnogo bolje takmicare nebi li se iole ravnopravno nosili sa mojim novim takmicarem :)))
algoritmi.326 embe,
>> Treba mi HERC.BGX da bi igrao XOX. Ako bi bili ljubazni da mi ga >> posaljete... Bas lepo sto hoces da nam se pridruzis. S obzirom da ti treba HERC.BGX pametno zakljucujem da imas Herkules, na kome program XOX2121 ne prikazuje celu tablu. Evo za tebe, a i za sve ostale najnovija verzija programa XOX2121 v.2.3 (cak sam stigao do ove verzije) koja je nesto usavrsena a mislim da ce resiti tvoje probleme. Sledi master program za XOX -> XOX2121 v.2.3b Pozdrav. xox2121.zip
algoritmi.327 tomak,
> Jos jednom hvala na lepim recima, ali samo da se zna, moracete > napraviti mnogo bolje takmicare nebi li se iole ravnopravno nosili sa > mojim novim takmicarem :))) Ovo sam očekivao, znači napred u nove pobede. :) Predložim da ne bude novi turnir nego da pobednik ovog turnira nosi titulu pobednika, dok se ne pojavi bolji koji će da preuzme titulu i tako da turnir neprestano traje.
algoritmi.328 embe,
>> Predlazem da ne bude >> novi turnir nego da pobednik ovog turnira nosi titulu pobednika, dok se ne >> pojavi bolji koji ce da preuzme titulu i tako da turnir neprestano traje. Ako sam dobro razumeo, sistem treba da je sledeci: pobednik turnira, automatski se kvalifikuje za sledeci turnir, a autor pobednika ima pravo da za novi turnir posalje jos jednog takmicara (kao u Ligi sampiona u fudbalu ?) Mozda bi to pravo trebao da ostvari i vicesampion, cisto radi dinamicnosti, ali i iz prakticniog razloga da se turnir ne bi pretvorio u "pobedi sampiona", sto bi mozda obeshrabrilo potencijalne nove ucesnike. Drugo, pada mi na pamet i liga, u kojoj bi takmicari sa manje od 50% uspeha ispadali, i koja bi se posle svakog ciklusa obnavljala novim takmicarima (bez obzira na preostale takmicare, opet bi svako mogao da posalje po jednog takmicara). Mislim da bi ovaj sistem bio najinteresantniji. Sta ostali misle ?
algoritmi.329 tomak,
> Drugo, pada mi na pamet i liga, u kojoj bi takmicari sa manje od 50% > uspeha ispadali, i koja bi se posle svakog ciklusa obnavljala novim > takmicarima (bez obzira na preostale takmicare, opet bi svako mogao da > posalje po jednog takmicara). Mislim da bi ovaj sistem bio > najinteresantniji. Sta ostali misle ? Meni izgleda dobra ideja. Mogla bi da postoji liga sa određenim brojem takmičara i kad se pojavi novi (ili dva - tri nova) onda da se ponovi turnih onih sa tabele sa tim novim. Koliko znam obično iz niže u višu ligu idu dva takmičara, ovde bi mogao i samo jedan da se pojavi i da se ponovi turnir i ako je bolji najmanje od poslednjeg da taj poslednji ispada ako prelazi kvotu prve lige ... Trebalo bi da mogu i oni sa tabele da šalju drugog takmičara ali da na tabeli mogu da imaju samo po jednog.
algoritmi.330 tomcat,
> > Da li ti pomenu sah negde? Imam uradjen i sahovski program :) > > Hoces da isprobas svog Gandalfa (valjda se tako zove)? ;) Eeee.. kako znas?
algoritmi.331 vector,
> > Hoces da isprobas svog Gandalfa (valjda se tako zove)? ;) > > Eeee.. kako znas? Poruka broj 5.304 u ovoj konferenciji. :)
algoritmi.332 tomak,
> RangLista posle odigranog 1. kola 'I XOX Turnir'-a: > > No. đ Program đ OM đ Bod đ Procent đ Autor > ------------------------------------------------------------------------- > 1. MALISA.EXE 1 3 100.000 tomak > 2. KAJKO.EXE 1 3 66.667 kajko > 3. VINKOM.EXE 1 0 33.333 vinkom > 4. ANAND.COM 1 0 0.000 embe > ------------------------------------------------------------------------- Taman sam hteo da pitam hoće li biti nastavka ali tad se setih da je na tabeli moj takmičar na prvom mestu. Posle tog prisećanja (umesto da pitam kad će nastavak) poručujem Kajku - nemoj da žuriš. :)
algoritmi.333 kajko,
>> Drugo, pada mi na pamet i liga, u kojoj bi takmicari sa manje od 50% >> uspeha ispadali, i koja bi se posle svakog ciklusa obnavljala novim >> takmicarima (bez obzira na preostale takmicare, opet bi svako mogao da >> posalje po jednog takmicara). Mislim da bi ovaj sistem bio Ja glasam za ovaj predlog. KAJKO
algoritmi.334 kajko,
--- I XOX Status Report --- Rezultati 2. kola 'I XOX Turnir'-a: đ Program đ Win đ Lo. đ Drw đ P đ % ------------------------------------------------- 1. MALISA.EXE 2 4 0 3 100.000 VINKOM.EXE 4 2 0 0 0.000 2. KAJKO.EXE 6 0 0 3 100.000 ANAND.COM 0 6 0 0 0.000 ------------------------------------------------- RangLista posle odigranog 2. kola 'I XOX Turnir'-a: No. đ Program đ OM đ Bod đ Procent đ Autor ------------------------------------------------------------------------- 1. KAJKO.EXE 2 6 83.334 kajko 2. MALISA.EXE 2 3 66.667 tomak 3. VINKOM.EXE 2 3 50.000 vinkom 4. ANAND.COM 2 0 0.000 embe ------------------------------------------------------------------------- KAJKO xox_ii.zip
algoritmi.335 kajko,
--- I XOX Status Report --- Rezultati 3. kola 'I XOX Turnir'-a: đ Program đ Win đ Lo. đ Drw đ P đ % ------------------------------------------------- 1. VINKOM.EXE 6 0 0 3 66.667 ANAND.COM 0 6 0 0 33.333 2. KAJKO.EXE 4 2 0 3 66.667 MALISA.EXE 2 4 0 0 33.333 ------------------------------------------------- RangLista posle odigranog 3. kola 'I XOX Turnir'-a: No. đ Program đ OM đ Bod đ Procent đ Autor ------------------------------------------------------------------------- 1. KAJKO.EXE 3 9 75.000 kajko 2. VINKOM.EXE 3 6 75.000 vinkom 3. MALISA.EXE 3 3 50.000 tomak 4. ANAND.COM 3 0 0.000 embe ------------------------------------------------------------------------- KAJKO xox_iii.zip
algoritmi.336 kajko,
Završen je I XOX turnir. Svi programi su ostavili dobar utisak na turniru. Za početak, nije loše. Moram da priznam da je bilo veoma zanimljivo izvoditi ovo takmičenje. Stvarno sam uživao posmatrajući programe i proučavajući logiku koju koriste. Ponavljam, za početak, nije loše ! Šifra za otključavanje arhive sa takmicarima je: 1234567890 """""""""" U arhivi se, pored mog takmičara, nalazi i njegov izvorni kod pisan u TC 1.00. Moj odlazak u tuđinu ništa ne menja u samom toku ove konferencije. Jedino će frekfencija mog javljanja biti malo ređa (Ehhh, da može TelNet...). Za zadovoljstvom ću učestvovati i na narednom turniru po pravilima koja se usvoje. Samo će organizator turnira morati biti neko drugi. Čim mi se ovde otvori nalog, javiću moju novu E-Mail adresu za kontakt. Za sada ostaje samo ova na Sezu. PS: Hvala svima na lepim željama 'za brzo (finansijsko) ozdravljenje'. KAJKO
algoritmi.337 tomak,
> RangLista posle odigranog 3. kola 'I XOX Turnir'-a: > > No. đ Program đ OM đ Bod đ Procent đ Autor > ------------------------------------------------------------------------- > 1. KAJKO.EXE 3 9 75.000 kajko > 2. VINKOM.EXE 3 6 75.000 vinkom > 3. MALISA.EXE 3 3 50.000 tomak > 4. ANAND.COM 3 0 0.000 embe > ------------------------------------------------------------------------- Čestitam Kajku i Vinku. Inače, takmičara sam nazvao 'mališa' jer sam pretpostavio da će biti 'najteži'... KAJKO.EXE 14,668 VINKOM.EXE 8,032 ANAND.COM 20,556 MALISA.EXE 21.408 Uz poruku je takmičar (u arhi laki.arj) koji je bio alternativa 'mališi', više je okrenut napadu (napadniji je ali napadajući pravi greške ...). laki.arj
algoritmi.338 embe,
>> RangLista posle odigranog 3. kola 'I XOX Turnir'-a: >> >>No. d Program d OM d Bod d Procent d Autor >>------------------------------------------------------------------------- >> 1. KAJKO.EXE 3 9 75.000 kajko >> 2. VINKOM.EXE 3 6 75.000 vinkom >> 3. MALISA.EXE 3 3 50.000 tomak >> 4. ANAND.COM 3 0 0.000 embe >>------------------------------------------------------------------------- Cestitam pobednicima i zahvaljujem organizatoru na angazovanju. Sta reci posle zavrsetka prvog turnira, nego da nije bilo primedbi i da je najbolji pobedio. Rukavica je bacena, ustanovljen je odredjeni nivo kvaliteta takmicara u odnosu na koji treba da se autori novih takmicara ravnaju (naravno pri tome ne mislim na mog takmicara koji je ocigledno razocarao :))) Jos jednom pozdrav takmacima, spremajte jos bolje takmicare. Takodje, poziv svima onima koji misle da mogu da naprave inteligentan program za igranje XOX-a da se ukljuce, i spreme svog takmicara za sledeci turnir.
algoritmi.339 embe,
>> Moj odlazak u tudinu nista ne menja u samom toku ove konferencije. >>Jedino ce frekfencija mog javljanja biti malo reda (Ehhh, da moze >>TelNet...). Za zadovoljstvom cu ucestvovati i na narednom turniru po >>pravilima koja se usvoje. Samo ce organizator turnira morati biti >>neko drugi. Ako niko nema nista protiv, mogao bih se prihvatiti organizacije novih turnira. Ako glasate za mene, obecavam vam fer i postenu borbu, i uredno izvodjenje takmicenja :))) Ako je vreme da se saopste nova pravila, evo ih: * Pravila su ista kao i do sada, znaci igra svako sa svakim po 6 (sest) partija sa naizmenicnim prvim potezom. * Pobeda u mecu donosi 3 poena, nereseno 1 a poraz 0 poena. * Igra se liga iz koje posle svakog turnira ispadaju oni koji imaju manje od 50% uspeha (manje od 50% osvojenih bodova) * Za svako novo takmicenje, pojedinac moze da prijavi jednog takmicara. Oni kojima su takmicari ostali u ligi takodje se dozvoljava da prijave jednog novog takmicara. * II XOX Turnir pocinje u subotu 18. oktobra, a rok za slanje takmicara je petak 17. oktobar u 24:00. Slanje takmicara -> meni na mail. * Iz I XOX Turnira na osnovu rezultata, za II XOX Turnir automatski su prijavljeni prvoplasirani i drugoplasirani takmicari KAJKO.EXE i VINKOM.EXE jer imaju osvojenih 9 od 9 i 6 od 9 bodova. * Takmicenje se odvija posredovanjem master programa XOX2121 koji se moze skinuti iz poruke 1.326. Pozdrav svim sadasnim i buducim takmicarima. Milan.
algoritmi.340 tomak,
> Ako niko nema nista protiv, mogao bih se prihvatiti organizacije > novih turnira. Ako glasate za mene, obecavam vam fer i postenu borbu, > i uredno izvodjenje takmicenja :))) Bilo bi bolje kad bi bio neko ko ne učestvuje jer pretpostavljam da ćeš učestvovati sa takmičarem ali ako nema ko - glasam za tebe :) (prihvatajući obećanje :)). Ostalo se prihvata - jednoglasno. :)
algoritmi.341 embe,
Subject: II XOX turnir (sa posebnim osvrtom na pobednike I XOX turnira) Testirao sam mog novog takmicara sa svim ucesnicima prvog turnira. Zapazanja su mi sledeca : - kajko.exe je jako dobar, igra brzo (nisam gledao source koji je autor velikodusno obnarodovao, i po meni, napravio gresku, jer njegov source neko moze zloupotrebiti i doci na ideju da samo vrsi minorne ili nikakve modifikacije na tom kodu i tako pravi 'svog' takmicara). Ovaj takmicar igra prilicno racionalno, ali nesto je slabiji u odbrani i pozicijama u kojima 'nema sta da se igra'. Ponasa se kao Tajson kada se borba produzi preko osam rundi - gresi. Naime, u jednoj partiji sa mojim novim takmicarom igrao se vec 150 i neki potez (!), i pozicija je bila remi (tj. nije bilo teorije da neko pobedi), kajko.exe je odigrao pogresan potez i master program ga je diskvalifikovao. Treba popraviti ovaj bag. - vinkom.exe je po meni najcudniji takmicar od svih. Cudan je zbog toga sto su njegovi potezi, kada napada, prosto genijalni, ali kada se brani... Treba mu malo popraviti igru u odbrani i to ce biti strasan borac. Igra malo sporije od Kajkovog takmicara a duzina razmisljanja je konstantna, igrao se prvi ili stoti potez. - malisa.exe (autor tomcat) je zauzeo trece mesto na turniru. Moj takmicar koga testiram, 'slistio' je kajko.exe i vinkom.exe sa po 5:1 i taman sam hteo da kazem - to je to, i da zavrsim sa 'stelovanjem' mog takmicara, kad pomislih - ajde da 'slistim' i 'malisu' kad ono... rezultat 3:3 i to uz dva NERESENA(!) meca. Bas neresena, igralo se do poslednjeg slobodnog polja, 221 potez. Opasan 'mali'! To je dokaz da ima dobru, bolje reci odlicnu odbranu, ali donekle slabost mu predstavlja igra u odbrani - dokaz su porazi protiv ofanzivnih takmicara kajko.exe i vinkom.exe. Malo da se odbrana i napad izbalansiraju i bice to strasan 'mali'. Brzina igranja se smanjuje posle svakog odigranog poteza, i posle stotog poteza postaje neprijatno spor. A ja sam ga terao i do 221-og poteza (pravo mucenje :))) Jedan predlog se namece, igrajuci mnogo dugackih meceva, a to je da se ne igra do 221. poteza nego do ustanovljenja remija. Remi je pozicija kada niko ne poseduje sansu za spajanje pet u nizu, tj. sve je blokirano. Ugradio sam to u 'master' program tako da postedi organizatora bezveznog random glupiranja takmicara. Sta mislite o tome? ---------------- Saljite takmicare meni na mail, rok za prijavljivanje na II XOX turnir je petak, 18.10. u 24:00. PS. Moj takmicar tuce sva tri, sa ne manje od 5:1 :))) Ucinite nesto!
algoritmi.342 tomak,
O pobednicima imam slična zapažanja sa malim dodatkom. > - vinkom.exe je po meni najcudniji takmicar od svih. Cudan je zbog toga Ovo je najkraći program i možda bi bio malo duži da je VinkoM mogao prvo da vidi ostale takmičare (pre turnira) ... > - malisa.exe (autor tomcat) je zauzeo trece mesto na turniru. Moj Mene su zvali i tomca ali nije mi to user. > takmicar koga testiram, 'slistio' je kajko.exe i vinkom.exe sa po 5:1 > i taman sam hteo da kazem - to je to, i da zavrsim sa 'stelovanjem' > mog takmicara, kad pomislih - ajde da 'slistim' i 'malisu' kad ono... > rezultat 3:3 i to uz dva NERESENA(!) meca. Bas neresena, igralo se do Izvinjavam se ali ovo sam morao da ponovim. :) > izbalansiraju i bice to strasan 'mali'. Brzina igranja se smanjuje > posle svakog odigranog poteza, i posle stotog poteza postaje neprijatno > spor. A ja sam ga terao i do 221-og poteza (pravo mucenje :))) Sećam se da sam pročitao da je za ono prvo takmicenje (3X3) DZakic napisao da ne treba pisati programe sa IF naredbama nego da treba da bude algoritam (otprilike tako). 'Malisa' je napisan sa IF naredbama, ;( zato i biva spor a zato se i zove tako. Ako uspem da ove IF-ove 'sredim' i ako ... daću mu ime po svom useru (valjda mu to neće smetati :)) i biću tako bezobrazan da ću, u temu koja se zove algoritmi, ponovo da pošaljem svog takmičara. > Saljite takmicare meni na mail, rok za prijavljivanje na II XOX turnir > je petak, 18.10. u 24:00. Znači da bi rok bio 17.10 u 24:00 da ti okačiš svoj u konf'u (pod šifrom), ovo zato da se postigne ravnopravnost. Napominjem da je ovo primedba formalne prirode i (naravo) nema ništa lično u sebi.
algoritmi.343 embe,
>>> - malisa.exe (autor tomcat) je zauzeo trece mesto na turniru. Moj >> Mene su zvali i tomca ali nije mi to user. Mnogo se izvinjavam. >> Znaci da bi rok bio 17.10 u 24:00 da ti okacis svoj u konf'u (pod >> sifrom), ovo zato da se postigne ravnopravnost. Napominjem da je ovo >> primedba formalne prirode i (naravo) nema nista licno u sebi. Apsolutno na mestu. Niko jos nije prijavio takmicara pa je sada pravo vreme da kao organizator javno prijavim svog. Naravno pod sifrom je. Dakle i formalno, vise ne postoje prepreke za prijavu takmicara. Evo DEFENDER.EXE -a: defender.zip
algoritmi.344 qpele,
subj: xox Kako stvari stoje verovatno cu do petka i ja da zavrsim mog takmicara tako da se konjkurencija povecava :)
algoritmi.345 embe,
subj. II XOX turnir. Sutra (17.10.97) u 24:00 istice rok za prijavu takmicara. Zato, pozurite sa slanjem svojih takmicara, da vam posle ne bi bilo zao. Takmicari se salju meni u mail. Turnir pocinje, kao sto je ranije objavljeno, u subotu 17.10.97.
algoritmi.346 tomak,
> subj. II XOX turnir. > > Sutra (17.10.97) u 24:00 istice rok za prijavu takmicara. Poslao sam svog (doteranog) starog takmičara. Trebalo bi mi više vremena da bude brži.:(
algoritmi.347 embe,
subj. II XOX turnir. >> Poslao sam svog (doteranog) starog takmicara. Trebalo bi mi vise >> vremena da bude brzi.:( Sto se tice brzine, uopste nije bitna, ono moje zapazanje je bilo cisto 'statisticki' podatak.:)) Nego, tvoj takmicar, jedini, u svoj fajl za 'memoriju' pise dotad odigrane poteze, a ne trenutnu poziciju. Zar ne ? I svaki put fajl je sve duzi. Ne znam sta jos pises u fajl, ali posle dosta odigranih poteza, imam osecaj da je fajl mnogo mnogo veci od slicnog fajla ostalih takmicara. Mozda je to razlog za smanjenu brzinu ?
algoritmi.348 tomak,
> Nego, tvoj takmicar, jedini, u svoj fajl za 'memoriju' pise dotad > odigrane poteze, a ne trenutnu poziciju. Zar ne ? I svaki put fajl > je sve duzi. Ne znam sta jos pises u fajl, ali posle dosta odigranih > poteza, imam osecaj da je fajl mnogo mnogo veci od slicnog fajla > ostalih takmicara. Mozda je to razlog za smanjenu brzinu ? Jeste i on je duži nego što bi mogao biti. Nisam ustvari ni stigao da radim na brzini, radio sam na samoj igri a brzinu sam (retorički) spomenuo kao sledeću stvar koju sam hteo da uradim i da sam imao vremena mislim da bi bio brži. Inače, pišem program u paskalu a čini mi se da su ostali takmičari pisani u C-u. Pretpostavljam da zbog ovog poslednjeg (ma kako ga ubrzavao) mora biti razlike u brzini.
algoritmi.349 embe,
subj: II XOX Turnir. Duboko se izvinjavam zbog kasnjenja turnira. Iako sam obecao da ce se turnir odrzati na vreme, obecanje nisam ispunio iz tehnickih razloga. Naime desava mi se krecenje stana, naravno racunar nije u operativnom tanju, a uz to i alternativno resesenje me je izneverilo tako da sam prinudjen da odlozim pocetak takmicenja za sredu 22.10. za takmicenje je prijavljeno 6 takmicara: KAJKO.EXE,VINKOM.EXE,VINKOM01.EXE,MALISA.EXE,ZHIVADIN.EXE i DEFENDER.EXE. Ako bog da prvi izvestaj stize u sredu 22.10 u vecernjim casovima.
algoritmi.350 tomak,
> za takmicenje je prijavljeno 6 takmicara: > KAJKO.EXE,VINKOM.EXE,VINKOM01.EXE,MALISA.EXE,ZHIVADIN.EXE i ^^^^^^^^^^ > DEFENDER.EXE. Prijavio sam MALISHA.EXE, što i nije mnogo bitno. ^
algoritmi.351 embe,
>> Prijavio sam MALISHA.EXE, sto i nije mnogo bitno. Lapsus finger :). Izvini.
algoritmi.352 embe,
subj. II XOX turnir. Napokon pocinje II XOX turnir. Pravo na ucesce stekli su sledeci takmicari: kajko.exe - autor: KAJKO (pobednik I XOX turnira) vinkom.exe - autor: VINKOM (drugoplasirani sa I XOX turnira) malisha.exe - autor: TOMAK vinkom01.exe - autor: VINKOM zhivadin.exe - autor: QPELE defender.exe - autor: EMBE Sta da izjavim na pocetku? Pridruzio nam se novi autor QPELE, TOMAK je poslao novu verziju svog vrlo dobrog takmicara, VINKOM kao da nije zadovoljan osvojenim drugim mestom na I turniru pa je poslao svog drugog takmicara, KAJKO uziva na lovorikama, a EMBE (tj. ja) je zeljan skalpova... Uskoro ce se sve razjasniti... Turnir ce se sastojati od pet kola. Izvuceni su sledeci takmicarski brojevi: 1. MALISHA.EXE 2. DEFENDER.EXE 3. ZHIVADIN.EXE 4. KAJKO.EXE 5. VINKOM.EXE 6. VINKOM01.EXE U prvom kolu sastaju se: MALISHA.EXE - DEFENDER.EXE ZHIVADIN.EXE - KAJKO.EXE VINKOM.EXE - VINKOM01.EXE Svi parovi su interesantni, ne bih ni jedan mec obelezio kao derbi. Prvi par je sudar dva potpuno nova takmicara, pa je prognoza teska. Drugi par, po meni predstavlja zestoki test za 'pridoslicu'. Ko zna, mozda kajko.exe bude srusen vec na pocetku ? Treci par moze da pokaze koliko je nova verzija bolja ili losija od stare. Ako nova verzija 'razbuca' staru (vrlo dobru) onda nam se svima lose pise... Toliko za pocetak. Izvestaj o prvom kolu sledi.
algoritmi.353 embe,
subj. II XOX Turnir. Rezultati 1. kola: MALISHA : DEFENDER 3,5 : 2,5 (1 remi) ZHIVADIN : KAJKO 5 : 1 VINKOM : VINKOM01 0 : 6 Tabela posle 1. kola _____________________________________________ 1. VINKOM01 1 1 0 0 6:0 3 2. ZHIVADIN 1 1 0 0 5:1 3 3. MALISHA 1 1 0 0 3,5:2,5 3 4. DEFENDER 1 0 0 1 2,5:3,5 0 5. KAJKO 1 0 0 1 1:5 0 6. VINKOM 1 0 0 1 0:6 0 _____________________________________________ (kolone u tabeli redom znace: odigrao meceva, pobede, nereseno, izgubljeno, 'gol-razlika' i broj bodova) E sada malo komentara: Prvi mec, prava iscrpljujuca borba dva gotovo podjednaka takmicara. Ne samo da su priblizno jednaki po snazi vec i taktika im je gotovo ista: odbrana, odbrana i samo odbrana. Interesantno je da oba takmicara igraju bolje kada ne vuku prvi potez. DEFENDER je imao malo manje srece i izgubio. Svaka cast MALISHI, igrao je kao Karpov, neatraktivno ali jako i korisno. Drugi mec, sta da vam kazem. Sve sto sam video je bilo da je KAJKO uleteo u 'masinu' (i to za ves i jos na centrifugiranje :))). Pobeda ZHIVADINA je tako cista i ubedljiva da je za mene pravo cudo bila pobeda KAJKA u poslednjoj partiji. Elem, KAJKO je postigao pocasni pogodak, videcemo da li ce ostali moci i to da urade protiv strasnog ZHIVADNA. Treci mec, valjda zbog toga sto su se sastali takmicari istog autora, meni uopste nije bio interesantan. VINKOM01 je slistio svoga prethodnika, ali da stvar bude (ne)interesantna partije su se ponavljale, tako da sam ladno mogao da pustim samo prvu i drugu partiju, i da izvestaj tri puta iskopiram. Doduse, ima nekih razlika u cetvrtoj i petoj partiji ali, te razlike su pred kraj, i ne menjaju moju ocenu. Sa druge strane, gledajuci VINKOM.EXE i VINKOM01.EXE u akciji, mogu samo da izjavim 'Ala ga je opravio..., svaka mu cast' Toliko za prvo kolo. Posle prvog dolazi drugo kolo. A u drugom kolu sastaju se: MALISHA : ZHIVADIN DEFENDER : VINKOM KAJKO : VINKOM01 Svi su mecevi interesantni (dok se ne dokaze suprotno:)) Derbi je svakako prvi mec, ja blagu, najblazu prednost dajem ZHIVADINU , ali ko zna. Drugi mec je mnogo manje neizvestan i tu je DEFENDER izraziti favorit. (ovo smem da tvrdim jer je VINKOM.EXE bio sparing partner u procesu pravljenja DEFENDER-a) U trecemi mecu, iz verovatno istih razloga, VINKOM01 je favorit. Ali, iznenadjenja su moguca (i pozeljna :)) Uz poruku je zakacena arhiva sa izvestajima sa meceva 1. kola. Takodje tu je i sifrovana arhiva sa svim takmicarima. uz1kolo.zip
algoritmi.354 embe,
subj. II XOX Turnir. Rezultati 2. kola: MALISHA : ZHIVADIN 6 : 0 DEFENDER : VINKOM 6 : 0 KAJKO : VINKOM01 0 : 6 Tabela posle 2. kola _____________________________________________ 1. VINKOM01 2 2 0 0 12:0 6 2. MALISHA 2 2 0 0 9,5:2,5 6 3. DEFENDER 2 1 0 1 8,5:3,5 3 4. ZHIVADIN 2 1 0 1 5:7 3 5. KAJKO 2 0 0 2 1:11 0 6. VINKOM 2 0 0 2 0:12 0 _____________________________________________ (kolone u tabeli redom znace: odigrao meceva, pobede, nereseno, izgubljeno, 'gol-razlika' i broj bodova) E sada malo komentara: Prvi mec, doneo je iznenadjujuci rezultat (ako se gledaju rezultati prvog kola). Medjutim, ovaj rezultat samo pokazuje slabost sampiona prethodnog turnira (KAJKO.EXE) i dokaz je da je domaci zadatak dobro uradjen. MALISHA.EXE je ocigledno u dobroj formi i nije bilo vecih problema za njega u ovom mecu. ZHIVADIN.EXE se dobro drzao ali... Drugi mec je protekao u nadmocnosti DEFENDER-a i osim jedne partije koja je trajala nesto duze, borbe su bile srednje duzine. Ipak je VINKOM.EXE 'veteran' i 'procitan' tako da mislim da mu poslednje mesto nece umaci. Treci mec. Sve sto nije VINKOM.EXE jeste VINKOM01.EXE. Tako je lako 'smazao' starog (sada je to sasvim izvesno) sampiona da je to bilo milina gledati. Bilo je cak i 'suster-matova' :))) Posle expresne i maksimalne pobede VINKOM01.EXE se zadrzao u vodjstvu, a prati ga MALISHA.EXE. U drugom redu su DEFENDER.EXE i ZHIVADIN.EXE, a fenjer drze bivsi sampioni. Toliko za drugo kolo. Posle drugog dolazi trece kolo. A u trecem kolu sastaju se: MALISHA : KAJKO DEFENDER : VINKOM01 ZHIVADIN : VINKOM Derbi je svakako drugi mec, jer u prvom je favorit MALISHA a u drugom ZHIVADIN, ali ko zna. Uz poruku je zakacena arhiva sa izvestajima sa meceva 2. kola. P.S. Turnir izvodim u 'partizanskim' uslovima jer zbog posledica krecenja mog stana, namestaj nije vracen na svoje pozicije. Zato ako dodje do eventualnog kasnjenja, ne sekirajte se mnogo, za dan dva bice normalizovano stanje. uz2kolo.zip
algoritmi.355 tomak,
> Uz poruku je zakacena arhiva sa izvestajima sa meceva 2. kola. A uz ovu poruku je ahiva PREGLED.ARJ u kojoj su: PREGLED.EXE za pregled odigranih partija. PREGLED.BAT za pustanje pregleda. TUR2PROG.EXE vadi iz izvestaja sa ovog turnira odabranu partiju i upisuje u LOGFAJL koji može sa PREGLED.EXE ponovo da se pogleda. > P.S. Turnir izvodim u 'partizanskim' uslovima jer zbog posledica > krecenja mog stana, namestaj nije vracen na svoje pozicije. Zato ako Krečenje svakako spada u stresnija događanja ... pregled.arj
algoritmi.356 tomak,
> TUR2PROG.EXE vadi iz izvestaja sa ovog turnira odabranu partiju i upisuje > u LOGFAJL koji može sa PREGLED.EXE ponovo da se pogleda. Kod nerešenih partija (do sad je bila samo jedna) Embe prekida pre kraja kada takmičari više nemogu da naprave 'peticu'. Ne znam kako i da li može da se izađe iz XOX2121 kad se dođe do tog prekida ali kad se pušta sa PREGLED-om kod tog prekida treba da se odigra pogrešan potez. Uz poruku je TUR2PREG sa ispravkom. tur2preg.exe
algoritmi.357 embe,
> Kod neresenih partija (do sad je bila samo jedna) Embe prekida pre kraja > kada takmicari vise nemogu da naprave 'peticu'. Ne znam kako i da li moze > da se izade iz XOX2121 kad se dode do tog prekida ali kad se pusta sa XOX212 v.2.4 sama otkriva 'remi' situaciju.
algoritmi.358 embe,
subj. II XOX Turnir. Rezultati 3. kola: MALISHA : KAJKO 5 : 1 DEFENDER : VINKOM01 0 : 6 ZHIVADIN : VINKOM 6 : 0 Tabela posle 3. kola _____________________________________________ 1. VINKOM01 3 3 0 0 18:0 9 2. MALISHA 3 3 0 0 14,5:3,5 9 3. ZHIVADIN 3 2 0 1 11:7 6 4. DEFENDER 3 1 0 2 8,5:9,5 3 5. KAJKO 3 0 0 3 2:16 0 6. VINKOM 3 0 0 3 0:18 0 _____________________________________________ (kolone u tabeli redom znace: odigrao meceva, pobede, nereseno, izgubljeno, 'gol-razlika' i broj bodova) E sada malo komentara: Prvi mec, je protekao u pozicionoj borbi oba takmicara, stim sto je MALISHA bio mnogo uspesniji. Jos jednom da primetim da MALISHA igra sjajno u odbrani (cak malo i preterano). Jednom je umesto da napravi slobodna cetiri u nizu, odigrao blokadu protivnikova tri slobodna u nizu (?). Sto je mnogo mnogo je :))(Ipak je dobio tu partiju) Drugi mec je bio derbi samo za mene, jer iako se DEFENDER dobro drzao, ipak nije odoleo sjajnim napadima VINKOM01-a. Meni za utehu je da je VINKOM01-u trebalo za sada najvise poteza za savladjivanje svojih protivnika Treci mec je bio najlepsi u ovom kolu. Sastali su se Real iz Madrida i FK Pekar :)). Sta da kazem, bila je to egzibiciona igra nadmocnog ZHIVADINA. Za VINKOM-a se, na srecu, sve brzo zavrsilo. Toliko za trece kolo. Posle treceg dolazi cervrto kolo. A u cetvrtom kolu sastaju se: MALISHA : VINKOM DEFENDER : KAJKO ZHIVADIN : VINKOM01 Derbi je svakako treci mec, jer u prvom je favorit MALISHA a u drugom DEFENDER, ali ko zna (derbi = mislim najinteresantniji mec, a ne najneizvesniji) Uz poruku je zakacena arhiva sa izvestajima sa meceva 3. kola. izv3kolo.zip
algoritmi.359 qpele,
E kakav je ovo turnir bez navijaca. Ovim putem pozivam sve ljubitelje zivadina da ga svojim navijanjem podrze u derbiju IV kola :) Ko bude najgrlatiji postaje vodja navijaca :)
algoritmi.360 qpele,
E da grupa navijaca zhivadina se zove: Zhivadini sa severa :)
algoritmi.361 hercog,
│ ZHIVADIN : VINKOM01 └─────────────────────────────────────────────────────────── Ajmo ajde, ZHIVADINE :)) Napred domaći.... :))) Sale
algoritmi.362 zla.,
NAPRED ZIVADINE....
algoritmi.363 tomak,
> MALISHA bio mnogo uspesniji. Jos jednom da primetim da MALISHA igra > sjajno u odbrani (cak malo i preterano). Jednom je umesto da napravi Nisam težio samo odbrani ima nečeg i u onoj narodnoj: 'Napad je najbolja odbrana'. Pisao sam ga da iz odbrane gradi napad i da bude što 'univerzalniji' ... tako da (pošto je u pitanju turnir) uspešno igra sa različitim protivnicima ...
algoritmi.364 embe,
subj. II XOX Turnir. Rezultati 4. kola: MALISHA : VINKOM 6 : 0 DEFENDER : KAJKO 3 : 3 ZHIVADIN : VINKOM01 0 : 6 Tabela posle 4. kola ______________________________________________ 1. VINKOM01 4 4 0 0 24:0 12 2. MALISHA 4 4 0 0 20,5:3,5 12 3. ZHIVADIN 4 2 0 2 11:13 6 4. DEFENDER 4 1 1 2 11,5:12,5 4 5. KAJKO 4 0 1 3 5:19 1 6. VINKOM 4 0 0 4 0:18 0 ______________________________________________ (kolone u tabeli redom znace: odigrao meceva, pobede, nereseno, izgubljeno, 'gol-razlika' i broj bodova) E sada malo komentara: U prvom mecu, malo teze nego sto sam ja ocekivao, MALISHA je savladao poslednjeplasiranog. Pod 'malo teze' mislim na broj poteza, koji je bio prilicno veliki. MALISHA ni jednom nije bio ozbiljnije ugrozen, dobro je blokirao poziciju i cekao da mu se ukaze prilika, koju je zatim realizovao. S obzirom da MALISHA i inace igra dugacke partije, (koje i dobija), sasvim je subjektivno moje misljenje o tome dan se MALISHA 'oznojio' u ovom mecu. Drugi mec je bio totalno neizvesan. DEFENDER je igrao promenljivo (uostalom, kao i KAJKO) i iako ovaj rezultat predstavlja razocaranje za mene, rezultat je pravedan. Nije bilo velikih obrta u mecu, svako je dobio partiju koju je pocinjao. Partije su bile kratke do srednje duzine. Treci mec je pokazao da VINKOM01 jos uvek nije naisao na dostojnog protivnika. ZHIVADIN je po svom obicaju igrao izuzetno ofanzivno ali je to bilo previse riskantno. Uglavnom posle kontranapada VINKOM01 je poentirao. Lep mec, sa puno lepih i neocekivanih poteza. Toliko za cetvrto kolo. Posle cetvrtog dolazi peto - poslednje kolo. A u poslednjem kolu kolu sastaju se: MALISHA : VINKOM01 DEFENDER : ZHIVADIN KAJKO : VINKOM E sad, mozda mi necete verovati, ali ovakav rasplet nisam izrezirao. U poslednjem kolu igra se za titulu, za trece i za peto mesto. Sudari direktnih rivala odlucuju o konacnom poretku. Lider na tabeli VINKOM01 dovoljan je i neresen ishod za osvajanje titule a MALISHA mora da pobedi. Po meni moguc je svaki ishod osim neresenog. Mali favorit je VINKOM01 ali sudeci po tome da MALISHA igra sjajno u odbrani, moguce je da MALISHA 'ustopuje' 'Ronalda'. U drugom mecu ZHIVADIN se bori za ostanak u Ligi jer mu je potrebna pobeda da bi presao granicu od 50% osvojenih poena. DEFENDER je pokazao da mu vise leze 'ofanzivci', ali uporedjujuci rezultate sa istim protivnicima, ZHIVADIN je u prednosti. Mec izmedju bivsih sampiona vec smo gledali i tu nema sta da se kaze. Uz poruku je zakacena arhiva sa izvestajima sa meceva 4. kola. uz4kolo.zip
algoritmi.365 kenza,
>> E da grupa navijaca zhivadina se zove: >> Zhivadini sa severa :) Zivko,Zivko!!! Zivko,Zivko !!! Zivko,Zivko!!!..!!!!! Zivko,Zivko !!!......!!!!!! ;) Zivko,Zivko!!!..!!!!! Zivko,Zivko !!! Zivko,Zivko!!! Ovo sa uzvicnicima ide postepeno, kako se razbuktava strast na tribinama :)
algoritmi.366 embe,
subj. II XOX Turnir. Rezultati 5.(poslednjeg) kola: MALISHA : VINKOM01 2 : 4 DEFENDER : ZHIVADIN 6 : 0 KAJKO : VINKOM 4 : 2 Konacna tabela posle 5. kola ______________________________________________ 1. VINKOM01 5 5 0 0 28:2 15 2. MALISHA 5 4 0 1 22,5:7,5 12 3. DEFENDER 5 2 1 2 17,5:12,5 7 4. ZHIVADIN 5 2 0 3 11:19 6 5. KAJKO 5 1 1 3 11:19 4 6. VINKOM 5 0 0 5 2:22 0 ______________________________________________ (kolone u tabeli redom znace: odigrao meceva, pobede, nereseno, izgubljeno, 'gol-razlika' i broj bodova) E sada malo komentara: Prvi mec je bio derbi turnira sto je i opravdao. MALISHA je jedini uspeo da pobedi VINKOM01 i to u dve partije. Medjutim, VINKOM01 je za nijansu bio bolji i zasluzeno je pobedio direktnog rivala i osvojio prvo mesto na turniru. Za divno cudo partije nisu bile mnogo dugacke (s obzirom na stil igre koji gaji MALISHA). VINKOM01 je sjajan ofanzivac a MALISHA sjajan defanzivac. Ovaj put pobedila je leprsavost VINKOM01 ali MALISHA je pokazao da ne zaostaje mnogo za pobednikom. Drugi mec je direktno odlucivao o ostanku u ligi ZHIVADIN-a. ZHIVADIN nije imao kljuc za 'katanac' DEFENDER-a i zasluzeno je izgubio. Mozda ce za nekoga ovako glatki poraz ZHIVADIN-a biti cudan, ali ovaj rezultat je samo potvrda da ZHIVADIN igra mnogo slabije protiv defanzivnih takmicara (podsecam na 0:6 protiv MALISHE). Mozda je steta sto je ovaj poraz onemogucio ZHIVADINA da se plasira na sledeci turnir, a pobeda nije omogucila DEFENDERU isto to, ali ubedjen sam da ce za sledeci turnir doci neki novi, i usavrseni ZHIVADIN. Treci mec je potvrdio ishod sa proslog turnira kada je KAJKO pokazao da je jaci od VINKOM-a, i tu ne bih nista dodavao. Dakle, za sledeci, III XOX Turnir, na osnovu uspeha, kvalifikovali su se sledeci takmicari: 1. VINKOM01 sa uspehom 15/15 (100%) 2. MALISHA sa uspehom 12/15 (80%) Iz lige ispadaju: 3. DEFENDER sa uspehom 7/15 (47%) 4. ZHIVADIN sa uspehom 6/15 (40%) 5. KAJKO sa uspehom 4/15 (27%) 6. VINKOM sa uspehom 0/15 (0%) Kratak statisticki pregled odrzanog turnira je u pripremi. Sifra za raspakivanje arhive sa svim takmicarima, kao i sa ranije poslatim takmicarem organizatora (tj. mene) je: NemaLaziNemaPrevare Uz poruku je zakacena arhiva sa izvestajima sa meceva 5. kola. uz5kolo.zip
algoritmi.367 embe,
subj. II XOX Turnir. Sttistika II XOX Turnira: ++ Ukupno odigranih poteza ┌──────────┬──────┬──────┬──────┬──────┬──────┬──────┬────────────────┐ │ │ MAL. │ DEF. │ ZHI. │ KAJ. │ VIN. │ VIN01│ Ukup. /Prosek* │ ├──────────┼──────┼──────┼──────┼──────┼──────┼──────┼────────────────┤ │MALISHA │ ## │ 450 │ 350 │ 396 │ 348 │ 140 │ 1684 / 56.3 │ ├──────────┼──────┼──────┼──────┼──────┼──────┼──────┼────────────────┤ │DEFENDER │ 450 │ ## │ 507 │ 245 │ 223 │ 309 │ 1734 / 57.8 │ ├──────────┼──────┼──────┼──────┼──────┼──────┼──────┼────────────────┤ │ZHIVADIN │ 350 │ 507 │ ## │ 271 │ 138 │ 177 │ 1443 / 48.1 │ ├──────────┼──────┼──────┼──────┼──────┼──────┼──────┼────────────────┤ │KAJKO │ 396 │ 245 │ 271 │ ## │ 210 │ 211 │ 1333 / 44.4 │ ├──────────┼──────┼──────┼──────┼──────┼──────┼──────┼────────────────┤ │VINKOM │ 348 │ 223 │ 138 │ 210 │ ## │ 164 │ 1083 / 36.1 │ ├──────────┼──────┼──────┼──────┼──────┼──────┼──────┼────────────────┤ │VINKOM01 │ 140 │ 309 │ 177 │ 211 │ 164 │ ## │ 1001 / 33.3 │ └──────────┴──────┴──────┴──────┴──────┴──────┴──────┴────────────────┘ * Prosek je po jednoj pojedinacnoj partiji. ++ Najbrze pobede : 1. VINKOM protiv KAJKO-a .... 8 poteza (!) 2. KAJKO protiv DEFENDER-a .... 10 poteza 3. MALISHA protiv VINKOM-a .... 13 poteza ++ Najsporije pobede: 1. DEFENDER protiv ZHIVADIN-a .... 160 poteza 2. DEFENDER protiv ZHIVADIN-a .... 157 poteza 3 MALISHA protiv VINKOM-a .... 135 poteza ++ Najbrze zavrseni mecevi 1. ZHIVADIN protiv VINKOM-a (6:0) .... 138 poteza ukupno 2. VINKOM01 protiv MALISHE (4:2) .... 140 poteza ukupno ++ Najsporije zavrseni mecevi 1. DEFENDER protiv ZHIVADIN-a (6:0) .... 507 poteza ukupno 2. MALISHA protiv DEFENDER-a (3,5:2,5) . 450 poteza ukupno + Ziri (odnosno ja) proglasio je pobednike u sledecim kategorijama: --- Takmicar sa najboljim napadom: VINKOM01 --- Takmicar sa najboljom odbranom: MALISHA --- Najatraktivniji takmicar (nagrada publike) ZHIVADIN --- Najbrzi igrac (najbrze povlaci poteze) dele KAJKO i DEFENDER --- Najsporiji igrac (najsporije povlaci poteze) VINKOM --- Najlepsa partija turnira VINKOM01 - KAJKO (treca partija, pobeda VINKOM01 u 36. potezu) Toliko od mene. II XOX Turnir je karakterisalo izuzetno poboljsanje kvaliteta takmicara. Verujem da ce sledeci turnir okupiti jos jace takmicare. Nadam se i novim licima i novim idejama. Cestitam autorima pobednickih takmicara VINKOM-u i TOMAK-u i porucujem im da ne spavaju na lovorikama i da nastave da prave jos jace takmicare. Ostalima ostaje izazov da sruse sampione. Pozdrav.
algoritmi.368 qpele,
Nista, samo mogu da najavim za sledeci turnir zhivadinovu sestru bozana.exe :)))
algoritmi.369 mmarkovic,
> Nista, samo mogu da najavim za sledeci turnir zhivadinovu sestru > bozana.exe :))) E, svaka ti čast za imena! :))) Ako mogu da se ponudim za kuma, predlažem i: MILOJICA RADOJICA DJOKA PERA ZHIKA Naravno, .EXE ...
algoritmi.370 tomak,
> Konacna tabela posle 5. kola > ______________________________________________ > > 1. VINKOM01 5 5 0 0 28:2 15 > 2. MALISHA 5 4 0 1 22,5:7,5 12 > 3. DEFENDER 5 2 1 2 17,5:12,5 7 > 4. ZHIVADIN 5 2 0 3 11:19 6 > 5. KAJKO 5 1 1 3 11:19 4 > 6. VINKOM 5 0 0 5 2:22 0 > ______________________________________________ Sve što ću napisati je da me zanima koliko je od VINKOM01 do savršenosti (za ovakvu koncepciju) i da li ima neki potez koji ne igra najjače. > Dakle, za sledeci, III XOX Turnir, na osnovu uspeha, kvalifikovali su se > sledeci takmicari: > > 1. VINKOM01 sa uspehom 15/15 (100%) > 2. MALISHA sa uspehom 12/15 (80%) Trebalo bi postotak da se računa po dobijenim partijama - to je pravi postotak. Organizacija sa detaljima ... sami superlativi ...
algoritmi.371 embe,
>> Sve sto cu napisati je da me zanima koliko je od VINKOM01 do savrsenosti >> (za ovakvu koncepciju) i da li ima neki potez koji ne igra najjace. VINKOM01 igra samo jace od ostalih (pravi manje gresaka). Inace, jos smo daleko od igranja najjacih poteza. Evo npr. napravio sam novog takmicara koji tuce VINKOM01 sa ne manje od 5:1 (uvek) ali je slabiji od MALISHE (gubi sa 2:4 do 1:5). Prema tome .... >>> Dakle, za sledeci, III XOX Turnir, na osnovu uspeha, kvalifikovali >>>su se sledeci takmicari: >>> >>> 1. VINKOM01 sa uspehom 15/15 (100%) >>> 2. MALISHA sa uspehom 12/15 (80%) >> Trebalo bi postotak da se racuna po dobijenim partijama - to je >>pravi postotak. Ipak mislim (samo za ovo takmicenje) da je proporcionalni sistem manje dobar od vecinskog :)) Bez zezanja, bodovi su oni koji bolje sagledavaju ukupnu snagu nekog takmicara. Nisu iste tezine dve partije dobijene protiv VINKOM01 i VINNOM-a. Zar ne ? Ovako bi se to izjednacilo. >> Organizacija sa detaljima ... sami superlativi ... Hvala za pohvale, ali moram jos jednom da se izvinem za kasnjenje na startu, kao sto sam rekao, desilo mi se krecenje, i ja tu nista nisam mogao... Sto se tice onih programa koje si napravio (za repeticiju partija), jako su zgodni i korisni. S obzirom da sam takmicenje izvodio sa jos ne publikovanim master programom XOX2121 v.2.4b, duznost mi je da ga sada objavim. Mislim da je ovo jedna definitivna verzija. xox2121.zip
algoritmi.372 tomak,
> >> Sve sto cu napisati je da me zanima koliko je od VINKOM01 do > >> savrsenosti (za ovakvu koncepciju) i da li ima neki potez koji ne igra > >> najjace. > VINKOM01 igra samo jace od ostalih (pravi manje gresaka). Inace, > jos smo daleko od igranja najjacih poteza. Evo npr. napravio sam > novog takmicara koji tuce VINKOM01 sa ne manje od 5:1 (uvek) ali je > slabiji od MALISHE (gubi sa 2:4 do 1:5). Prema tome .... Ovo je bila (svojevrsna) čestitka pa nisam bio precizan. Pod 'koncepcijom' sam mislio na 'razmišljanje' samo o potezu koji treba da se odigra a pod 'najjače' sam mislio na greške u tom potezu ...
algoritmi.373 qpele,
w
algoritmi.374 tomcat,
Koliko tesko je napraviti sledeci program: Ucita se i ostane rezidentan, i sta god posle korinik kucao, program "podmece" svoje karaktere koje cita iz nekog fajla. Znaci na svaki keypress on podmetne jedan karakter.
algoritmi.375 emajsijuen,
To>> "podmece" svoje karaktere koje cita iz nekog fajla. Znaci na svaki To>> keypress on podmetne jedan karakter. Cek, cek, na svaki keypress da ispise neki karakter umesto onog koji je trebao, ili da ispise i taj koji treba i neki drugi ? Ako je "samo" ovo drugo onda nije problem...
algoritmi.376 tomcat,
>To>> "podmece" svoje karaktere koje cita iz nekog fajla. Znaci na svaki >To>> keypress on podmetne jedan karakter. > > Cek, cek, na svaki keypress da ispise neki karakter umesto onog koji >je trebao, ili da ispise i taj koji treba i neki drugi ? > Treba da ispise samo jedan, onaj "svoj".
algoritmi.377 tomak,
> > Cek, cek, na svaki keypress da ispise neki karakter umesto onog koji > >je trebao, ili da ispise i taj koji treba i neki drugi ? > > > > Treba da ispise samo jedan, onaj "svoj". Ovo je tema algoritmi pa ... evo kako bi to bilo u pascalu. Uz poruku je primer za KEEP (BP7.0), sa ubačenim delom ispisuje samo 'svoj' karakter. keep.pas
algoritmi.378 embe,
subj. III XOX turnir. + Prijave takmicara za III XOX turnir primace se od ponedeljka, 3.novembra 1997. + Poslednji rok za prijavu takmicara je petak, 7.novembar 24:00. + Takmicari se salju meni na mail. + Takmicenje pocinje (trebalo bi) u subotu 8.novembra 1997. + Takmicarska pravila su ista kao i za II XOX turnir. (da ponovim, za ovaj turnir automatski su su prijavljeni pobednici II XOX turnira, VINKOM01.EXE (by VINKOM) i MALISHA.EXE (by TOMAK). Salje se samo jedan takmicar. I Vinkom, i Tomak mogu da posalju po jednog takmicara takodje.) + Svako moze da ucestvuje. Naravno, treba samo da napravi svog takmicara. PS. Jedini razlog zasto je pocetak prijavljivanja tek u ponedeljak je taj, sto ja moram pre pocetka prijavljivanja da publikujem svog takmicara, koji jos nije gotov.
algoritmi.379 tomcat,
> Ovo je tema algoritmi pa ... evo kako bi to bilo u pascalu. > Uz poruku je primer za KEEP (BP7.0), sa ubacenim delom ispisuje samo > 'svoj' karakter. Problem je sto ispisuje i pritisnuti karakter. Kako to izbaciti? Vladimir Prelovac ......................... tomcat@galeb.etf.bg.ac.yu
algoritmi.380 tomak,
> Problem je sto ispisuje i pritisnuti karakter. Kako to izbaciti? Onaj primer što sam poslao kod mene ispisuje 5 puta samo slovo 's' bez karaktera sa prisisnutog tastera a posle tih 5 puta počne da ispisuje samo karakter sa pritisnutog tastera; usput i pišti (kako i inače u tom primeru radi :)). Zanima me da li kod nekog radi nešto treće. ;(
algoritmi.381 emajsijuen,
To>> Problem je sto ispisuje i pritisnuti karakter. Kako to izbaciti? Imam ideju, ali me mrzi da pravim... Probaj da pre nego sto ispises 'svoj' karakter odredis gde se kursor nalazi, pa onda na mesto ispred toga ispises taj novi karakter. To ce verovatno raditi...
algoritmi.382 emajsijuen,
Em>> Imam ideju, ali me mrzi da pravim... Probaj da pre nego sto ispises Em>> 'svoj' karakter odredis gde se kursor nalazi, pa onda na mesto ispred Em>> toga ispises taj novi karakter. To ce verovatno raditi... Sad mi pade na pamet... Taj efekat mozes da postignes i bez pravljenja bilo kakvog rezidentnog programa. Jednostavno prilagodi fontove, tako sto npr. font(65):=Font(66) (A=B). Ali ovo ce da promeni i sva slova na ekranu (ona koja si menjao).
algoritmi.383 tomcat,
> > Problem je sto ispisuje i pritisnuti karakter. Kako to izbaciti? > > Onaj primer sto sam poslao kod mene ispisuje 5 puta samo slovo 's' bez > karaktera sa prisisnutog tastera a posle tih 5 puta pocne da ispisuje > samo karakter sa pritisnutog tastera; usput i pisti (kako i inace u tom > primeru radi :)). Zanima me da li kod nekog radi nesto trece. ;( Bas cudno jer kod mene ispisuje i pritisnuti karakter. Vladimir Prelovac ......................... tomcat@galeb.etf.bg.ac.yu
algoritmi.384 tomak,
> Bas cudno jer kod mene ispisuje i pritisnuti karakter. Da, da, da, ... ovo ne radi u DOS-ovom prozoru (ili Full-screen-u), radi 'samo' u čistom DOS-u ... Izvini - ako te dezorjentisah ...
algoritmi.385 tomak,
> > Bas cudno jer kod mene ispisuje i pritisnuti karakter. > > Da, da, da, ... ovo ne radi u DOS-ovom prozoru (ili Full-screen-u), radi > 'samo' u čistom DOS-u ... Izvini - ako te dezorjentisah ... Evo je, u temi pascal, nepotpuna ispravka. Nepotpuna je jer se sa 'enter' prelazi u drugi red.
algoritmi.386 zuleika,
Seminar iz GENETSKIH ALGORITAMA pocinje u cetvrtak 06. 11. 1997. u 18 casova Predavanja ce se odrzavati svakog cetvrtka, sem poslednjeg u mesecu, u Racunarskoj Laboratoriji Matematickog fakulteta (Studentski trg 16, IV sprat). Prvo predavanje: Dr Dusan Tosic, profesor Matematickog fakulteta Razvoj i karakteristike genetskih algoritama Rukovodilac seminara Dr Dusan Tosic
algoritmi.388 vitez.koja,
Ok, evo je jedna storija o PCROBOTS-ima, pod radnim nazivom PCROBOTS & Ja. Znači, probaću da u narednih nekoliko dana ispričam neke stvari o tome, kakve sam ideje imao, šta sam radio itd... * Uvod Šta su uopšte ti pc roboti? Radi se o igri u kojoj se dva (ili više) "robota-borca" bore i pokušavaju da ubiju jedan drugog. Roboti su zapravo programi koje neko napiše i iskompajlira i pošalje u arenu. Svaki robot može da uradi nešto iz strogo ograničenog skupa instrukcija (kretanje, potraga za protivnikom, pucanje...). I tako, zainteresovala me je ta ideja, skinuo sam pcrob141.zip (dos\fun\pcrob141.zip) i "proučio" pravila. Neke osnovne komande su - configure - kreirate novog robota i određujete max. brzinu, sposobnost manevrisanja - koliko mora da uspori da bi skrenuo, domet oružja, jačinu oklopa i sposobnost ubrzavanja; naravno, nešto možete povećati na uštrb drugog itd. - scan(angle, wide, range) - robot ispituje prostor oko sebe u krugu od 360 stepeni; ovom instrukcijem naređujete mu da ispita wide okolinu pravca angle i ako nađe protivnika da vrati daljinu na kojoj se taj nalazi; npr. scan(100, 5, range) ispituje sektor od 95. to 105. stepena; - movement(angle, speed) - pomeranje robota u tom pravcu i brzini; što se brže robot kreće, više energije gubi (nju nadoknađuje mirovanjem) - shoot(angle, range) - puca u tom smeru i na tu daljinu Za više informacija predlažem čitanje pcrobots.doc iz gorespomenute arhive i poruke iz igre.3:strategije od usera space.ace (leto '97). * Prvi korak - Rani radovi Ok, pročitao sam i razumeo o čemu se radi i rešio da napravim najboljeg robota u istoriji... Prvo pravimo jednog robota za test. Ako naš kandidat ne može da pobedi njega, onda bolje i da se ne trudimo (dakle robot za test bi izgledao otprilike ovako): #include <stdlib.h> #include "pcrobots.h" void main(void) { int angle=0, range, k; int s_dmg, prirastaj=4; configure(2,0,4,4,0,0); // znači maksimalan oklop i domet oružja, ostalo je 0 :) randomize(); while (1) { if (scan(angle=(angle+prirastaj)%360, prirastaj, &range) >=0) { shoot(angle, range); } angle = (angle + 37) % 360; // da bi ispitao svaki mogući ugao korak je 37 buy_armour(200 - damage()); // kad već ništa ne radi nadoknađuj štetu koja je nastala u // međuvremenu na robotu (šteta se nadoknađuje na račun // energije, a pošto robot stoji, energija se brzo // nadoknađuje } } Pošto je dogovoreno da se sezamov turnir odigra u default areni, reših i da iskoristim prednosti iste (postoje zidovi iza kojih se robot može sakriti - arena je pcrobots.rna, a za xxxxxxxxxxxxxx vas koje mrzi da skidate recimo da izgleda 1x2 nekako ovako. Dakle, ideja je da se moj robot x zabije u ćošak (1, 2, 3, 4) i da ne mrda odatle dok ne ugleda nešto. Prednosti su što treba da x proverava samo tih 90 stepeni, što je u x međuvremenu siguran i što se ne pomera, pa ne 3x4 troši energiju. Znači, postupak je jednostavan - xxxxxxxxxxxxxx idemo u najbliži ugao i skeniramo tih 90°. Kad nađemo nešto pokušavamo da ga odredimo što preciznije gde je tačno poloveći sektor koji smo pretraživali i pretražujući obe polovine i tako dok ga ne nađemo sa preciznošću od 1°. Uvek treba voditi računa da pcrobots radi sa celobrojnom matematikom i da treba paziti kod nalaženja polovine (kasnije ćemo imati i problema sa max. i min. brojevima koje celobrojni tip donosi). U petlji vrtimo (znam da može jednostavnnije, ovo je i da paskaldžije razumeju) sledeće (za npr. ćošak 2): struct point { int angle; int range; } data; while (1) { if ( scan(45, 45, &data.range) >= 0 ) break; } i kad se izleti vrtećemo npr. sledeću funkciju (start i end su granice sektora koji ispitujemo, a funkcija vraća 0 ako ne nađe ništa ili širinu sektora ako nađe nešto; wide je širina ispitivanog sektora, da bi prenosili dokle smo stigli, na početku treba podesiti wide kao (end-start)/2; int scan_sector(int start, int end, int wide) { int x, l; x = (start + end + 1) / 2; // ugao koji se ispituje if (scan(x % 360, wide, &data.range) == -1) return 0; else { if (wide < 2) { data.angle=x % 360; skshoot(data.angle, data.range); return wide; } if (l=scan_sector(start, x, (wide+1)/2)) return l; else if (l=scan_sector(x, end, (wide+1)/2)) return l; else return (scan_sector(start, end, wide)); // ovaj treći red vam se čini malo nepotreban, ali trebaće :) } } Yes, radi, kada ga program ispadne iz prve petlje, ova petlja će odmah precizirati gde se protivnik nalazi i upucaćemo ga, a onda povratak u prvu petlju (ovo i nije tako tragično, zato što ne može neprestano da se puca, nego u razmacima od 50 "poteza" - potez je pomeranje, pucanje i skaniranje okoline, tako da ima vremena da ga ponovo nađemo). Podaci o tome gde je poslednji put nađena "meta" čuvaju se u globalnoj promenljivoj data. Poboljsanje bi se moglo uvesti i u ispitivanju if (wide < 2), zato što nije isto da li ga i našli preciznošću od 1° na daljini 50 i na daljini 500. Ideja je da se ispituje dužina luka tog sektora u kome smo našli protivnika, pa ako je ona "dovoljno mala" onda prestati (a dužinu luka, to zna svako dete računamo kao l = 2rŃ * Ó / 360, tj. luk = 2 * Pi * data.range * (2*wide) / 360; Pi naravno možemo emulirati sa 22/7 i uz malo izbegavanja preranog zaokruživanja dolazimo do luk = (22 * data.range * wide + 7 * 45) / 7 / 90 i da se nadate da niste prešli preko 65535 prilikom ovoga... Postavlja se pitanje, kolika je ona "dovoljno mala" veličina, za stepene je bilo lako - 1°, a kod luka? Nema druge nego ekperimentom (nisam se time bavio, pa neću preporučiti nijednu vrednost). * Drugi korak - Sitnim koracima napred Odmah i lako se unosi poboljšanje u sve ovo - uvešćemo funkciju koja će "pratiti" protivničkog robota, da ga ne tražimo ispočetka uvek, kad već znamo gde je bio. Po svoj prilici nije daleko pobegao... Kada uđemo u neku kritičnu zonu, npr. prošle je 47 ili više poteza od poslednjeg pucaja, prelazimo na pucanje... int follow_target(int wide) { int a, b, y, i=1; do { a = data.angle-wide; b = data.angle+wide; wide = wide + i++; if(y=scan_sector(a,b,wide)) return y; } while (wide <= 45); return 0; } Znači ovu ćemo funkciju neprekidno zvati iz petlje kad prvi put pronađemo metu, da je održava na nišanu. Promenjive a i b su ivice sektora koji ispitujemo. Proširujemo polako širinu ispitivanog sektora dok konačno ne nađemo metu i onda prelazimo opet na funkciju scan_sector, koja će da dovede preciznost na 1°. Pucanje: int skshoot (int angle, int range) { if (ticks()+3 >= now_shoot) { // da li je prošlo 47 poteza? while (ticks() < now_shoot) swaptask(); // swaptask() ne radi ništa, završava potez i daje ga drugom // igraču, da ne idemo nigde između 47 i 50, tj. da pucamo čim // pre shoot(angle, range); now_shoot=ticks()+50; // sledeći pucanj je posle ovog + 50 poteza } else { buy_armour(MAX_DAMAGE-damage()); // ako nije prošlo 50 poteza, kupi oklop, ako treba gotoxy(); // kreći se ako treba } return 0; } Dakle, funkcija za pucanje je najčešće pozivana funkcija i u nju je stavljen i poziv funkcije za kretanje kroz arenu. Ta funkcija je prilično jednostavne ideje, upisaću u dve globalne promenljive cilj našeg kretanja i idemo prema tamo dok ne dođemo dovoljno blizu (pogledati u fajlu uz poruku). Znači ostaje još samo da kompletiramo sve ovo u jedan program i to bi bilo najjednostavnije uraditi ovako nekako: while(1) { if (wide=scan_sector(start, end, x)) { do keep_shooting(wide); while (follow_target(wide)); } buy_armour(MAX_DAMAGE-damage()); } Ovo keep_shooting() prosto neprestano poziva skshoot dok mu je meta na nišanu (a ta funkcija će već uraditi šta treba). Ovom jednostavnom strukturom možemo menjati položaj našeg robota (kretanje pozivamo iz skshoot funckije), neprestano pritom održavajući našu metu na nišianu. Kompletan primer mog "prvog" robota je uz poruku prikačen (ubačeno je i malo kretanja po areni, ali biće vam jasno - ako robot nikog ne uoči za 500 poteza, menja ćošak). ** Ima li pitanja? :) sk rcb.c
algoritmi.389 vitez.koja,
Saga o PC Robotima * Treći korak - Nekorisna matematika Sve je to do sad bilo lepo, nego nešto mnogo promašujemo protivnika, a toliko smo se trudili da ga baš precizno nađemo... :( To je zato što se protivnik kreće, da citiram onaj crtani: "Kako misliš da te udarim kada stalno skačeš?" :) Elem, stvar je jasna, uvešćemo malo statistike - pamtiće se poslednjih nekoliko mesta gde je nađen protivnički robot, videćemo koliko treba našem hicu do tamo, naći ćemo gde će protivnik biti u to doba i gađamo u tom smeru i daljini. Kako znati, gde će protivnički robot biti u budućnosti? Iako je moj sledeći robot dobio ime lagrange, nikakva La Granžova metoda ili neka druga metoda interpolacije ne dolazi u obzir - u pitanju je ektrapolacija položaja, pa su sve te metode izvanredno neprecizne. Uradićemo krajnje jednostavnu stvar, pretpostaviću da se protivnik kreće pravolinijski (u 2d sistemu), tj. da se za njegovo kretanje može postaviti zakon y = kx + n (znam, znam, vertikalna kretanja nisu obuhvaćena, vodićemo računa i o tome). * Trigonometrija Do konkretnih k i n možemo doći na više načina, možda najjednostavniji (i neprecizan prilično) je uzeti prve i poslednje tačke koje imamo i produžiti pravu kroz njih. Znači nešto kao: dx = x(A) - x(1) - pomak po x osi dy = y(A) - y(1) - pomak po y osi dt = time(A) - time(1) - proteklo vreme između ova dva merenja sp = ű (dx^2 + dy^2) / dt - brzina kretanja protivnika ta = arctg (dy/dx) - pravac kretanja protivnika i neka su range i angle trenutni položaj (u odnosu na našeg robota) protivnika. Znači treba da nađemo gde će on biti kad naš metak stigne do njega, tj. gde treba da pucamo (metak se kreće brzinom 400). E sad malo trigonometrije (teško mi je nacrtati to, pa ću opisati): R - položaj našeg robota P - položaj protivnika S - položaj protivnika kad metak stigne do njega x osa - prava kroz R || pravoj x osi angle - ugao koji zaklama x osa (pozitivni deo) sa vektorom RP (od R ka P) Ú - ugao RPS ta - ugao x osa (poz.) sa pravom PS tada važi: Ú = angle - ta + 180° RP = range (udaljenost protivnika od našeg robota) RS : SP = bullet : sp (ako je bullet brzina metka) Postavljamo kosinusnu teoremu u temenu P: RS^2 = SP^2 + RP^2 - 2 cos(Ú) * RP * SP koristimo gornje jednačine i uz malo sređivanja dobijamo da je: - sp * cos(Ú) + ű [ bulletř - spř * (1 - cosř(Ú)) ] RS = --------------------------------------------------------- * bulletř - spř * bullet * range a da je ugao SRP iz sinusne teoreme: RS : SP = sin(Ú) : sin(SRP) sin(SRP) = sp * sin(Ú) / bullet uz malo komplikacija pošto pc robots nema arcsin, već samo arctg, pa se mora naći i cos(SRP) što opet nije veći problem (kosinusna teorema za ugao SRP). * Par sitnica Eto sad ga imamo gotovog da ispravlja greške i gađamo unapred. Kad smo već tu da unapredimo našeg robota i za još par sitnica. Kada se zavučemo u ugao, zašto ne bismo skenirali svih 180° (robot "vidi" i kroz zidove), a pucali samo kad nam se nađe u željenih 90°. Ovako će već naš prvi metak imati podatke za korekciju svoje putanje. Maksimalnu brzinu našeg robota smo ograničili na 40, pošto se toliko energije nadoknađuje u svakom potezu, pa se robot može kretati bez gubitka energije. Da ne bi beležili vremenski bliske položaje protivnika (položaj protivnika koji odredimo ipak nije toliko precizan) i na osnovu njih donosili pogrešne zaključke uvešćemo minimum vremena koji treba da prođe između dva uzastopna beleženja podataka. Funkciju scan_sector smo podelili na dva dela - prvi koji radi ako se ispituje više od 90° (pošto funkcija scan() radi samo do 90°) i drugi sa polovljenjem sektora, tako da to sada izgleda: int scan_sector(int start, int end, int wide) { int i, l; datarez.wide = 1000; if (start < 0) start = 360 - start; while (end < start) end += 360; if (end-start > 90) { for (i=start; i < end; i+=90) if(l=scan_sector1(i, min(i+90, end), 45)) return l; return 0; } else return(scan_sector1(start, end, wide)); } U okviru nove procedure scan_sector1 izmenjen je njen glavni deo i zakomplikovan i tu praćenjem cilja i stalnim beleženjem podataka o njemu. Za to se brine sledeći deo: x = (start+end+1)/2; if (wide < 2) { int w1=1, y; while (ticks()+GAP < now_shoot) { if (scan(x%360, w1, &range) >= 0) { datarez.angle = x % 360; datarez.range = range; datarez.time = ticks(); datarez.wide = w1; add_correct(datarez.angle, datarez.range, datarez.time, datarez.wide); w1 = (w1+1)/2; } else if (scan((x+w1)%360, w1, &range) >= 0) { x+=w1; datarez.angle = x % 360; datarez.range = range; datarez.time = ticks(); datarez.wide = w1; add_correct(datarez.angle, datarez.range, datarez.time, datarez.wide); w1 = (w1+1)/2; } else if (scan((x+360-w1)%360, w1, &range) >= 0) { x-=w1; datarez.angle = x % 360; datarez.range = range; datarez.time = ticks(); datarez.wide = w1; add_correct(datarez.angle, datarez.range, datarez.time, datarez.wide); w1 = (w1+1)/2; } else w1++; } } Prilično je loše napisano, ali treba i kompajler nešto da optimizuje :). Elem, ideja je da se što više eliminišu kratkotrajne protivnikove nevidljivosti. Znači pogledaj još jedan stepen levo-desno, pa tek onda povećaj opseg koji gledaš. Čim ga nađeš suzi opseg sektora minimalno. I vrti se tako u toj petlji dok ne dođe vreme za pucanje... A da i kratak komentar - x_pos i y_pos su trenutne koordinate našeg robota, pa onda (u funkciji add_correct() ) iz range i angle podataka (prevođenjem iz polarnog u dekartov sistem) lako nalazimo dekartove koordinate neprijatelja. Mđt. problem je tu da zbog nepreciznosti sin i cos funkcija, zbog nesigurnosti samog podatka angle (pošto ima grešku od ˝1°), a i zbog zaokruživanja dolazi do (ponekad i nezanemarivih) nepreciznosti, pogotovo kad se naš robot pri tom kreće. Uz poruku je druga generacija mog robota - lagrange.c, ima li kakvih pitanje? :) sk lagrange.c
algoritmi.390 bcvetkovic,
Da li je ovo najava novog turnira?
algoritmi.391 bokir,
Za maturski radim algoritme sortiranja, pa molim sve one koji znaju neki manje poznat algoritam da napišu nešto o njemu. :)
algoritmi.392 kojai,
>> Za maturski radim algoritme sortiranja, pa molim sve one koji >> znaju neki manje poznat algoritam da napisu nesto o njemu. :) Uzmi QuickSort... Imas ga u pascalu pod examples...
algoritmi.393 mihailod,
> algoritme sortiranja Apsolutna biblija: Donald Knuth The Art of Computer Programmming, Volume 3 "Sorting and Searching" Addison Wesley, godina zavisi od izdanja... Trebalo bi da ima po univerzitetskim bibliotekama. Nadji neku vezu za biblioteku matematickog instituta ili neku srodnu.
algoritmi.394 bokir,
> >> Za maturski radim algoritme sortiranja, pa molim sve one koji > >> znaju neki manje poznat algoritam da napisu nesto o njemu. :) > > > Uzmi QuickSort... Imas ga u pascalu pod examples... On baš i nije nešto "manje poznat". Mislim, svakako ću ga staviti, ali mi treba što više "egzotičnih" algoritama.
algoritmi.395 bokir,
> Trebalo bi da ima po univerzitetskim bibliotekama. > Nadji neku vezu za biblioteku matematickog instituta > ili neku srodnu. 10x, pokušaću.
algoritmi.396 emajsijuen,
│ On bas i nije nesto "manje poznat". Mislim, svakako cu ga staviti, ali │ mi treba sto vise "egzoticnih" algoritama. └──────────────────────────────────────── Mozda bubble sort ? Ako ti treba, imam odlican primer i za quick sort, i za bubble sort.
algoritmi.397 dr.grba,
>> Mozda bubble sort ? Ako ti treba, imam odlican primer i za quick sort, >> i za bubble sort. Ako se ne varam, uz prvi Quick Basic koji je došao uz DOS (beše li to 5.0? Ne sećam se...) je dolazio i jedan BASIC programčić koji je demonstrirao 5-6 najpoznatijih algoritama sortiranja, uz zanimljivo grafičko rešenje koje je bilo vrlo dobro za demonstraciju moći ovih algoritama. Ja ovo odavno nemam, ali sam uveren da neko ko ovo čita ima to u nekoj sedamnaestoj polici u petoj prostoriji devete zgrade tridesete biblioteke u jedanaestom zamku (: Preporučujem potragu za programom, sigurno će biti od pomoći.
algoritmi.398 bokir,
> Mozda bubble sort ? Ako ti treba, imam odlican primer i za quick sort, > i za bubble sort. Ne, ne...To su sve _najpoznatiji_ algoritmi sortiranja. Meni trebaju oni manje poznati, tipa Radix Sort i slično.
algoritmi.399 bokir,
> to 5.0? Ne sećam se...) je dolazio i jedan BASIC programčić koji je > demonstrirao 5-6 najpoznatijih algoritama sortiranja, uz zanimljivo > grafičko rešenje koje je bilo vrlo dobro za demonstraciju moći ovih > algoritama. Ja ovo odavno nemam, ali sam uveren da neko ko ovo čita > ima to u nekoj sedamnaestoj polici u petoj prostoriji devete zgrade > tridesete biblioteke u jedanaestom zamku (: Zvuči simpatično :) Ima li neko ovo programče?
algoritmi.400 firus,
>> >> Za maturski radim algoritme sortiranja, pa molim sve one >> >> koji znaju neki manje poznat algoritam da napisu nesto o >> njemu. :) >> >> >> Uzmi QuickSort... Imas ga u pascalu pod examples... > > On baš i nije nešto "manje poznat". Mislim, svakako ću ga > staviti, ali mi treba što više "egzotičnih" algoritama. 'Ajmo da vidimo (redosled je potpuno slučajan): 1. Selection 2. Bubble 3. Insertion 4. Heap 5. Merge 6. Radix 7. Quick 8. Stack 9. Ford&Johnson Jes' da su svi više-manje poznati, ali možda neki od njih nisi već iskoristio, pa vikaj za informacije ...
algoritmi.401 popovics,
▄- Ako se ne varam, uz prvi Quick Basic koji je došao uz DOS ▄- (beše li to 5.0? Ne sećam se...) je dolazio i jedan BASIC ▄- programčić koji je demonstrirao 5-6 najpoznatijih algoritama ▄- sortiranja, uz zanimljivo Da, ja ga imam :)). Program se zove sortdemo.bas i ako zaista nekom treba, neka viče, poslaću ga...Inače, nije uz Quick Basic koji se dobijao uz dos 5.0 ( u pravu si, bio je 5.0 ) već uz prvi KOMPAJLER ( ono uz dos je bio interpreter ). :)
algoritmi.402 bokir,
> 6. Radix > 9. Ford&Johnson > Jes' da su svi više-manje poznati, ali možda neki od njih > nisi već iskoristio, pa vikaj za informacije ... Za ova dva jesam čuo, ali ih nikad nisam video :) Može malo informacija o njima?
algoritmi.403 dr.grba,
>> Da, ja ga imam :)). Program se zove sortdemo.bas i ako zaista nekom >> treba, neka viče, poslaću ga...Inače, nije uz Quick Basic koji se dobijao Daj, pošalji ga ovamo. Poslužiće dobro svakome ko želi da nauči algoritme sortiranja, a posebno čoveku za ovaj rad. Da, imao sam i taj QB kompajler, davno beše. Zaboravio sam da je program mogao biti tamo, a ne uz interpreter.
algoritmi.404 popovics,
Izvinjavam se što ne citiram, ali ovo pišem online. Evo, uz poruku SORTDEMO.BAS. sortdemo.bas
algoritmi.405 bokir,
> Izvinjavam se što ne citiram, ali ovo pišem online. Evo, uz poruku > SORTDEMO.BAS. A jel bi to moglo kao običan ASCII fajl, a ne ove kuke i kvake?
algoritmi.406 speedy,
Pregledaj stare brojeve racunara, mislim da je bila neka serija clanaka o sortiranju.
algoritmi.407 popovics,
Opet se izvinjavam što ne citiram, ali opet radim online. Pored ovog, izvinjavam se na "kukama & kvakama" jer je to bio onaj fajl, ali u binarnom obliku u koji ga smešta QB, radi bržeg učitavanja i manjeg prostora. Evo, šaljem ASCII verziju... P.S Izvinjenje opet sortdemo.bas
algoritmi.408 jjerry,
Mozhe li neko da mi opishe najbolji i brz algoritam za ,uslovno recheno, "renderovanje" odnosno jednostavno prikazivanje 3d objekata na ekranu.Dosad sam video nekoliko jednachina,koje naizgled nemaju veze jedna s drugom a koje sve sluzhe da prikazhu tachku bilo gde u virtuelnom 3d svetu na ekranu. Inache,kako se implementiraju matrice u kod i kako se to "vektori predstavljaju i transformishu matricama". (Znam operacije sa matricama ,mnozhenje,sabiranje itd.) Takodje bi dobro doshli i algoritmi za rotaciju objekta. Hvala in advance :)
algoritmi.409 jujo,
# Mozhe li neko da mi opishe najbolji i brz algoritam za ,uslovno # recheno, "renderovanje" odnosno jednostavno prikazivanje 3d # objekata na ekranu.Dosad sam video nekoliko jednachina,koje # naizgled nemaju veze jedna s drugom a koje sve sluzhe da prikazhu # tachku bilo gde u virtuelnom 3d svetu na ekranu. Inache,kako se # implementiraju matrice u kod i kako se to "vektori predstavljaju # i transformishu matricama". (Znam operacije sa matricama # ,mnozhenje,sabiranje itd.) Takodje bi dobro doshli i algoritmi za # rotaciju objekta. # # Hvala in advance :) Pa prijavi se u grupu DemoScene pa ce ti neko mozda pomoci. yooyo: P.S.: Mozda bih mogao i ja, al me mrzi da opisujem sve od pocetka. Javi se kad provalis kako radi "wireframe" 3d grafika. pa ces posle lako..
algoritmi.410 jjerry,
Otprilike sam provalio predstavljanje wireframe objekata,s tim shto je ,poshto sam to sam radio nekim svojim principom,pomalo primitivno ali sam npr. uspeo da se zezam sa kvadrima,da ih transliram po x,y,z ,skaliram (squash itd.) i sad se zezam malo sa jednachinama rotacije. Btw. ja sam do sada predstavljao objekte koordinatama svake tachke,i to drzhao u nizu.Da li postoji neki bolji nachin ? P.S Ako bi pomenuo makar neke Web strane ,bilo bi super. P.P.S Ko je owner grupe DemoScene ?
algoritmi.411 jjerry,
Ako bi mogao da mi opishesh (i napishesh) jednachine koje si ti koristio za prikazivanje tachke i otprilike ,u kratkim crtama, da mi objasnish kako se definishu slozheniji objekti (ja sam recimo koordinate svake tachke kocke stavljao u jedan niz,mora da postoji bolji nachin). Ako bi nasho vremena za reply,bio bih ti zahvalan..
algoritmi.412 jujo,
# jednachinama rotacije. Btw. ja sam do sada predstavljao objekte # koordinatama svake tachke,i to drzhao u nizu.Da li postoji neki # bolji nachin ? # # P.S Ako bi pomenuo makar neke Web strane ,bilo bi super. www.hornet.org........Najveca arhiva demo scene. Tu imas dir /code i svi efekti koji te zanimaju se tu nalace. C, Pascal i ASM uglavnom.. # P.P.S Ko je owner grupe DemoScene ? Ja! yooyo:
algoritmi.413 jujo,
# Ako bi mogao da mi opishesh (i napishesh) jednachine koje si ti # koristio za prikazivanje tachke i otprilike ,u kratkim crtama, da # mi objasnish kako se definishu slozheniji objekti (ja sam recimo # koordinate svake tachke kocke stavljao u jedan niz,mora da postoji # bolji nachin). # # Ako bi nasho vremena za reply,bio bih ti zahvalan.. U kom jeziku programiras... Savet..predji na C & ASM. Jednacine... Imas 2 pristupa. Prvi je da imas fixnu kameru (posmatraca), a drugi je da je posmatrac u slobodan u prostoru. Prvi je jednostavniji, ali nije flexibilan. Formula izgleda ovako: x,y,z - koordinate tacke u prostoru mx,my,mz - "pomeraj" tacke u odnosi na koordinatni pocetak ex,ex - koordinate na ekranu rezx, rezy - rezolucija ekrana fov - "sirina" pogleda ex=rezx/2 + fov*(mx+x)/(mz+z) ey=rezx/2 + fov*(my+y)/(mz+z) i posle ovoga su ex i ey koordinate tacke na ekranu. Ako imas npr. kocku u prostoru (tj. 8 tacaka) isprojektujes ih sve pa onda navalis da crtas linije izmedju njih. Za "pamcenje" objekta moras izgraditi strukturu u memoriji koja ce ga predstavljati. za pocetak uradi sledece: typedef struct { float ox, oy, oz; // originalne koordinate tacke u prostoru float wx, wy, wz; // "radne" koordinate. posle svih // transf. (rotacije, skaliranje, etc.) int ex, ey; // koordinate na ekranu } TACKA; typedef struct { int p1, p2, p3; // indexi tacaka u nizu koje cine trougao } TROUGAO; typedef struct { TACKA tacke[1000]; int maxtc; // broj upotrebljenih tacaka TROUGAO tr[1000]; int maxtr; // broj upotrebljenih trouglova } OBJEKAT; OBJEKAT kocka={..bla..bla..bla..}; algoriram bi izgledao ovako: TROUGAO trg; int ex1, ey1, ex2, ey2, ex3, ey3; rotiraj tacke.... // ako ima potrebe skaliraj objekat.... // ako ima potrebe projektuj sve tacke na ekran.. for (i=0; i<maxtr; i++) { trg=kocka.tr[i]; ex1=kocka.tacke[trg.p1].ex; ey1=kocka.tacke[trg.p1].ey; ex2=kocka.tacke[trg.p2].ex; ey2=kocka.tacke[trg.p2].ey; ex3=kocka.tacke[trg.p3].ex; ey3=kocka.tacke[trg.p3].ey; polyline(ex1, ey1, ex2, ey2, ex3, ey3); } i to je to... Drugi nacin je malo komplikovan za objasnjavanje. Naime... potrebno je od pozicije kamere, i njenih vektora formirati matricu transformacije i onda svaku tacku objekta "provuci" kroz matricu i dobices koordinate u kamerinom svetu. Posle se sve svodi na slucaj 1. Za texturemapping, i skrivanje nevidljivih ivica, moras uvesti jos jedan pojam, a to je orijentacija trougla u prostoru...ali o tome drugom prilikom. Ono gore sam pisao iz glave... moguce je optimizivati, izbaciti float racun i koristiti fixed point aritimetiku... u svakom slucaju... ubacicu te u grupu DemoScene, pa ce tu biti dosta stvari... yooyo:
algoritmi.414 jjerry,
10x za ubacivanje i ono sa www.hornet.org. Skinuo sam neshto gde se objashnjava i matematika,shto mi je daleko bitnije,jer ipak se na I godini MG i ne radi neshto preterano puno (samo planimetrija), ali je probleam shto ima 115 strana :)
algoritmi.415 kojai,
Jos uvek mi trebaju algoritmi za mix 2 ili vise wava... Ko ima neka salje!
algoritmi.416 jjerry,
> Drugi nacin je malo komplikovan za objasnjavanje. Naime... >potrebno je od >pozicije kamere, i njenih vektora formirati matricu transformacije >i onda >svaku tacku objekta "provuci" kroz matricu i dobices koordinate u >kamerinom svetu. Posle se sve svodi na slucaj 1. Mislish da praktichno svaku tachku translirash za vektor -v ,ako je v vektor koordinatni pochetak - kamera , odnosno da se rotira za suprotno orijentisani ugao od ugla izmedju pravca kamere i horizontale ?
algoritmi.417 jujo,
# Mislish da praktichno svaku tachku translirash za vektor -v ,ako je # v vektor koordinatni pochetak - kamera , odnosno da se rotira za # suprotno orijentisani ugao od ugla izmedju pravca kamere i # horizontale ? Pa tako nekako, ali je ipak bolje konstruisati matricu koja je nastala od vektora pozicije kamere i vektora baze kamerinog sveta. Posle ide samo mnozenje matrice i vektora. yooyo:
algoritmi.418 jujo,
# Jos uvek mi trebaju algoritmi za mix 2 ili vise wava... # # # # # Ko ima neka salje! Pa ja sam ti poslao u grupu demo, al si dobio nogu. U svakom slucaju potrazi na internetu MIDAS 1.12 i u njemu imas biblioteku za skoro sve DOS kartice, kao i za DirectSound. U stanju je da mixuje MOD i proizvoljan broj wav-ova. Uz njega ide i sors, pa ga proanaliziraj. yooyo:
algoritmi.419 jujo,
# # Jos uvek mi trebaju algoritmi za mix 2 ili vise wava... # # # # # # # # # # Ko ima neka salje! # # Pa ja sam ti poslao u grupu demo, al si dobio nogu. U svakom slucaju **** beta # potrazi na internetu MIDAS 1.12 i u njemu imas biblioteku za # skoro sve DOS kartice, kao i za DirectSound. U stanju je da mixuje # MOD i proizvoljan broj wav-ova. Uz njega ide i sors, pa ga # proanaliziraj. # yooyo:
algoritmi.420 bokir,
Ima li možda neko komentarisane funkcije za rad sa B-stablima?
algoritmi.421 obren,
> Skinuo sam iz sezamovog dir-a P-ROBOTS, iliti borbe robota-programa. Da > li postoji dobra dusa koja se zezala sa ovim, i koja je voljna da mi > objasni "funkcije i procedure" koje se koriste u source-ovima istih. Batali P-Robots i uzmi PC-Robots (isti direktorijum). Za razliku od prvog, podržani su svi značajniji jezici a ne samo Pascal, a tu je i dokumentacija u kojoj je prilično detaljno objašnjena svaka funkcija iz biblioteke. Svojevremeno je ovde organizvan turnir u PC-Robotskima i uopšte bilo je dosta priče o ovoj "sportskoj disciplini" pa pogledaj starije poruke u ovoj temi (algoritmi). Kad smo već kod algoritama, zanima me ima li interesovanja za ponovno pokretanje (nagradnog) tamičenja u rešavanju programerskih zadataka? Moglo bi se organizovati u više nivoa težine (kategorija), kako bi i mlađi korisnici i napredni rešavači mogli da nađu svoj interes. Čak i PC-Robots bi mogao da neđe svoje mesto, kao jedna od disciplina. Zamislio sam da zadaci idu dva puta mesečno pri čemu svako tačno rešenje donosi poen, a najbolje rešenje u kolu i dodatni poen ili dva. Svaka 3 ili 4 meseca po tri prvoplasirana takmičara/takmičarke bi dobili odgovarajuće nagrade (no, o tom' po tom'). Naravno, o eventualnim propozicijama bi se tek dogovorili. Za početak, voleo bih da vidim da li postoji kritična masa potencijalno zainteresovanih korisnika? Može i na mail, ako neko ne želi da se u ovom trenutku javno izjašnjava a učestvovao bi u takmičenju.
algoritmi.422 qpele,
> Za pocetak, voleo bih da vidim da li postoji kriticna masa potencijalno > zainteresovanih korisnika? Moze i na mail, ako neko ne zeli da se u ovom > trenutku javno izjasnjava a ucestvovao bi u takmicenju. Dobra ideja, ja sam za.
algoritmi.423 popovics,
§> Dobra ideja, ja sam za. Takodje.
algoritmi.424 jjerry,
Da li neko mozhda ima neki dobar algoritam za mapiranje textura (free direction,perspective correct) odnosno dokument na tu temu na engleskom/srpskom ? Nisu mi potrebne chitave procedure,samo detaljno opisan metod (pozheljan pseudo-kod ili komentari) Pozdrav,J.J..
algoritmi.425 jjerry,
Potreban mi je brz algoritam za izrachunavanje aproksimacije funkcije arkus kosinus. Ako nishta,i sama jednachina aproksimacije bi bila vishe nego dobrodoshla. Pozdrav,J.J...
algoritmi.426 vule.,
Kako da uradim blur efekat ?
algoritmi.427 jjerry,
>>Kako da uradim blur efekat ? Pa eno imash Moj :) algoritam u grupi.. Inache,grupa Logic je dobila exkluzivno pravo za korishtjenje tog algoritma za svoje demoe..Pitaj zmilosha onda.. Poz,J.J..
algoritmi.428 mcar,
Jel nabavio neko Delphi 4.0 ? Ima li nekih poboljsanja ? Goran. Zna li neko kako mogu vise edit box-ova da stamp
algoritmi.430 bilder,
jel zna neko gorana i nidzu sto napisase preferans; posto nisam nasao nikakvu dokumentaciju sa programom zanima me da li se negde moze nabaviti source ovog programa
algoritmi.431 aandric,
AA> jel zna neko gorana i nidzu sto napisase preferans; AA> posto nisam nasao nikakvu dokumentaciju sa programom AA> zanima me da li se negde moze nabaviti source ovog programa Neverovatno, ali ja sam bas prekjuce trazio na Netu da nadjem Gorana i Nidzu! Ljudi su legende i prosto ne mogu da verujem da su neki nasi tipovi napravili onako dobru igru. BTW nadjoh danas na Internetu sajt isto nekog naseg programera odakle moze da se skine Pref za Windows koji se kao multiplejer igra preko Interneta.Registracija je 30 DM.Ako neko hoce adresu bacicu je. (naravno i tu je sve na srpskom)
algoritmi.432 pavijan,
> BTW nadjoh danas na Internetu sajt isto nekog naseg programera > odakle moze da se skine Pref za Windows koji se kao multiplejer > igra preko Interneta.Registracija je 30 DM.Ako neko hoce adresu > bacicu je. (naravno i tu je sve na srpskom) ______________________________ De si bre do sad sa takvim informacijama? Drugo ako taj pref za win moze da se igra samo u mrezi inda koj ce mi q... ali daj adresu bar kao polaziste za trazenje dalje. Pozdrav od pavijana.
algoritmi.433 aandric,
>De si bre do sad sa takvim informacijama? Drugo ako taj pref za win >moze da se igra samo u mrezi inda koj ce mi q... ali daj adresu bar >kao polaziste za trazenje dalje. Pa ja ga pre neki dan nadjoh na Netu, nisam znao ranije majkemi;) Na sajtu ne pise nista konkretno u vezi toga ali koliko sam shvatio moze da se igra samo preko Interneta. Ima na sajtu i dva screenshot-a iz igre i dosta lepo izgleda. Adresa je http://bigsun.wbs.net/homepages/s/t/a/stankod/programi.htm BTW na istoj adresi se mogu skinuti Jamb i neki Pisko (debilnog li imena, ko da ga prodaje preko Tele-shopa :))
algoritmi.434 kojai,
>> jel zna neko gorana i nidzu sto napisase preferans; >> posto nisam nasao nikakvu dokumentaciju sa programom >> zanima me da li se negde moze nabaviti source ovog programa Kasno procitah... Evo ovako... To sto je neko nasao na internetu moze da se igra single, ali problem je u tome sto je kompjuter izuzetno glup, tako da je smesno uopste igrati... Ja sam se takodje raspitivao o nastavku prefa i ortak mi je rekao da je covek koji je izbacio pref ver 1.0 :) Dragan Zivkovic izbacio nastavak pod 32-bitnim Windowsom i da registracija kosta nekih 30 DM! Mozda je to ono sto je neko video posto je verzija koja se igra samo preko mreze free, tako da neverujem da je to Draganova verzija... Ali ako se ovo sranje nastavi planiram da ce mi biti dosadno, pa da cu i ja izbaciti svoju verziju prefa... :)) Isa
algoritmi.435 bilder,
meni zapravo treba pref za linux ili sors koji bi mogao da iskompajliram jer preferans ja vrlo slabo igram ,a tatu bi usrecio :) dakle jel se negde moze naci sors ver 1.0 ?
algoritmi.436 vitez.koja,
#=> Neverovatno, ali ja sam bas prekjuce trazio na Netu da nadjem #=> Gorana i Nidzu! Ljudi su legende i prosto ne mogu da verujem da su #=> neki nasi tipovi napravili onako dobru igru. Da, možda je mali problem što pref ne napisaše Goran i Nidža, već Dragan Živanović iz Niša. Dotični Goran i Nidža su samo "crackovali" gotov program (tj. potpisali se). sk
algoritmi.437 aandric,
CY> #=> Neverovatno, ali ja sam bas prekjuce trazio na Netu da nadjem CY> #=> Gorana i Nidzu! Ljudi su legende i prosto ne mogu da verujem d CY> #=> neki nasi tipovi napravili onako dobru igru. CY> CY> Da, možda je mali problem što pref ne napisaše Goran i Nidža, CY> već Dragan Živanović iz Niša. Dotični Goran i Nidža su samo CY> "crackovali" gotov program (tj. potpisali se). Otkud znas? Mislim i ja sam uspeo da se potpisem u program na onaj pocetni screen, ali ne i na kraj, mada ni to verovatno nije neki problem, ali gde god sam video doticnu igricu pisalo je made by Goran & Nidza.
algoritmi.438 ventura,
> Otkud znas? Mislim i ja sam uspeo da se potpisem u program na onaj > pocetni screen, ali ne i na kraj, mada ni to verovatno nije neki > problem, ali gde god sam video doticnu igricu pisalo je made by > Goran & Nidza. Ja mogu da se potpisem gde oces u ma kojoj igrici i da napisem sta ocu, sto neznaci da sam ja tu igricu napravio, pogotovo ako je to neka windows aplikacija. BTW Ima jedno programce koje se dobija uz BorlandC a zove se Workshop, i njemu moze da se ucita bilo koji win program, da se prevode meniji, razne poruke u programu, da se menja grafika unutar programa, tj da se menja sve u programu osim koda...
algoritmi.439 aandric,
AA> BTW Ima jedno programce koje se dobija uz BorlandC a zove se AA> Workshop, AA> i njemu moze da se ucita bilo koji win program, da se prevode AA> meniji, AA> razne poruke u programu, da se menja grafika unutar programa, AA> tj da se menja AA> sve u programu osim koda... Ajd' ako nije problem shibni taj Workshop ovamo.
algoritmi.440 ventura,
> Ajd' ako nije problem shibni taj Workshop ovamo. Ide... workshop.exe
algoritmi.441 kojai,
>> Ide... ...za ovo treba samo jedno stotinjak DLL-ova... :) Ako ti nije tesko posalji i to! :)
algoritmi.442 kojai,
>> Dragan Zivanovic iz Nisa. Doticni Goran i Nidza su samo "crackovali" Da...
algoritmi.443 vitez.koja,
#=> Otkud znas? Mislim i ja sam uspeo da se potpisem u program na onaj #=> pocetni screen, ali ne i na kraj, mada ni to verovatno nije neki #=> problem, ali gde god sam video doticnu igricu pisalo je made by #=> Goran & Nidza. Pa recimo da znam Dragana Živanovića koji je taj program valjda i prodavao u prvo vreme (imao je i neku primitivnu zaštitu). To što si ti vidjao Goran & Nidža verziju samo znači da se brzo proširila u početku, kasnije je samo stvar rutine (pogađaš već da je malo trulo da autor piratuje svoj program) sk
algoritmi.444 qpele,
> BTW Ima jedno programce koje se dobija uz BorlandC a zove se Workshop, > i njemu moze da se ucita bilo koji win program, da se prevode meniji, > razne poruke u programu, da se menja grafika unutar programa, tj da se > menja sve u programu osim koda... Pu, znam ja za taj workshop, odavno on postoji ali nisam znao da to moze.
algoritmi.445 qpele,
> >> Dragan Zivanovic iz Nisa. Doticni Goran i Nidza su samo "crackovali" > > > Da... Ne... Kladim se da je taj Dragan Zivanovic hteo da profitira na tudjoj pameti :)
algoritmi.446 saxon,
> BTW Ima jedno programce koje se dobija uz BorlandC a zove se Workshop, > i njemu moze da se ucita bilo koji win program, da se prevode meniji, > razne poruke u programu, da se menja grafika unutar programa, tj da se > menja sve u programu osim koda... Svi Win-programi (osim onih najtrivijalnijih) imaju, kao svoj integralni deo tzv. "resurse" u koje spadaju: meniji, sabloni okvira za dijalog, tekstualne poruke, bitmape, ikone, kursori i razni drugi korisnicki definisani elementi. Resursi se pisu, najcesce, u obliku ascii-skriptova (.rc fajlovi), prevode u binarni (.res) format i dodaju na izvorni kod Win-programa kao manje-vise nezavisna celina, tek nakon kompajliranja i linkovanja klasicnog programskog koda. Pametan programer koji cilja na trziste vise zemalja uvek ce sve elemente koje zavise od govornog podrucja strpati bas u rc-fajl kako bi intervencijom u samo jednom fajlu mogao brzo da napravi verziju za neko novo trziste (dovoljan je jedan malo priuceni prevodilac). Na zalost, tako pedantno napravljenih programa koji se mogu sa engleskog na srpski 100% prevesti obicnim Workshopom nema mnogo. Jos jedan razlog zbog koga su resursi izmisljeni: Prilikom startovanja programa, resursi se ne ucitavaju sa diska u RAM-memoriju zajedno sa izvrsnim kodom programa, vec se to desava tek kad neki resurs (ikonica, novi meni ili slicica) zatreba. Time se smanjuje zauzece memorije, uz neznatno povecanje opterecenja diska i zanemarljivo usporenje rada programa. Pomenuti "Resource Workshop" ume da barata (pravi i odrzava) rc-fajlove, kompajlira resurse u res-format ali i da manipulise resursima koji postoje u vec postojecim exe- i dll-fajlovima. Treba malo opreznosti u svemu tome, tj. treba znati sta se sme menjati a sta ne, inace se moze desiti da program po kome se ceprka posandrca i postane neupotrebljiv (svaki resurs ima svoj tekstualni ili numericki identifikator koji ne treba cackati). Na zalost, Workshop-om se ne moze promeniti bas sve: poruke koje su tvrdo kodirane u izvrsnom kodu ili predstavljaju integralni deo operativnog sistema mogu se prepraviti samo klasicnim hakerajem.
algoritmi.447 morkin,
Potreban mi je neki program koji se bavi isecanjem proizvoljnih oblika sa zadate (pravougaone) površine tako da bude najmanje škarta. Načuo sam da Microsft ima neki program za to, ali čovek koji mi je preneo informaciju nije znao tačan naziv, misli da je nešto kao Itemization. Svaka pomoć dobrodošla.
algoritmi.448 obren,
> Potreban mi je neki program koji se bavi isecanjem proizvoljnih oblika > sa zadate (pravougaone) površine tako da bude najmanje škarta. Načuo sam > da Microsft ima neki program za to, ali čovek koji mi je preneo > informaciju nije znao tačan naziv, misli da je nešto kao Itemization. I jednom mom poznaniku je potreban takav program, pa ako neko ima bilo kakav koristan info (naziv programa ili proizvođača, URL i sl.) bilo bi lepo da kaže :)