Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Nagradni zadatak br. 1
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Diskretna matematika
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
krcko
Forumaš nagrađen za životno djelo
Forumaš nagrađen za životno djelo


Pridružen/a: 07. 10. 2002. (15:57:59)
Postovi: (18B3)16
Sarma = la pohva - posuda
655 = 759 - 104

PostPostano: 22:39 uto, 22. 10. 2002    Naslov: Nagradni zadatak br. 1 Citirajte i odgovorite

Uzmite cetiri najjace karte (B, Q, K, A) u cetiri boje (pik, karo, herc, tref). Po principu produkta trebali biste imati 16 karata u ruci - u suprotnom birajte ponovo :D

Zadatak je sloziti karte u matricu 4x4, ali tako da se u svakom retku i stupcu svaka vrsta karte i svaka boja javlja tocno jednom. Ako ne uspijete odmah nemojte odustajati, zadatak ima rjesenje!
Uzmite cetiri najjace karte (B, Q, K, A) u cetiri boje (pik, karo, herc, tref). Po principu produkta trebali biste imati 16 karata u ruci - u suprotnom birajte ponovo Very Happy

Zadatak je sloziti karte u matricu 4x4, ali tako da se u svakom retku i stupcu svaka vrsta karte i svaka boja javlja tocno jednom. Ako ne uspijete odmah nemojte odustajati, zadatak ima rjesenje!



_________________
Vedran Krcadinac

Ljudi su razliciti, a nula je paran broj.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
Nesi
Inventar Foruma
(Moderator)
Inventar Foruma<br>(Moderator)


Pridružen/a: 14. 10. 2002. (14:27:35)
Postovi: (E68)16
Spol: kućni ljubimac
Sarma: -

PostPostano: 20:02 čet, 24. 10. 2002    Naslov: Citirajte i odgovorite

jel smijem napisati rjesenje sada, il da cekam? :twisted:

btw, onome tko rjesava: ima bar tri rjesenja, pa ono, malo strpljenja, malo logike... i ide

:D
jel smijem napisati rjesenje sada, il da cekam? Twisted Evil

btw, onome tko rjesava: ima bar tri rjesenja, pa ono, malo strpljenja, malo logike... i ide

Very Happy



_________________
It's not who you love. It's how.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 1:48 sub, 26. 10. 2002    Naslov: Rjesenje? Citirajte i odgovorite

Sorry, Krcko, nisam mogao izdrzati... :)

[code:1]
#!/usr/bin/env perl

# Uzmite cetiri najjace karte (B, Q, K, A) u cetiri boje
# (pik, karo, herc, tref).
# Zadatak je sloziti karte u matricu 4x4, ali tako da se
# u svakom retku i stupcu svaka vrsta karte i svaka boja
# javlja tocno jednom.

use strict;
use integer;

my $cnt = 0;
my @desc;
foreach my $kind (qw(decko baba kralj as)) {
foreach my $color (qw(pik karo herc tref)) {
push @desc, sprintf("%10s", "$color $kind");
}
}
my $used = [ map { 0 } (0..15) ];

sub check1 {
my ($m, $el, $i, $step, $pos) = @_;
while ($i < $pos) {
return 0 unless ($m->[$i] - $el) % 4;
return 0 unless $m->[$i] / 4 - $el / 4;
$i += $step;
}
return 1;
}

sub check {
my ($m, $pos, $el) = @_;
return 0 unless check1($m, $el, $pos % 4, 4, $pos);
return check1($m, $el, 4 * ($pos / 4), 1, $pos);
}

sub put {
my ($m, $pos, $el) = @_;
if ($pos + 1) {
return unless check(@_);
$m->[$pos] = $el;
$used->[$el] = 1;
}
if ($pos >= 15) {
print "Rjesenje ".++$cnt.":\n";
for my $i (0..3) {
for my $j (0..3) {
print $desc[$m->[4 * $i + $j]], " ";
}
print "\n";
}
print "\n";
} else {
foreach my $e (grep { !$used->[$_] } 0..$#$used) {
put([ @$m ], $pos + 1, $e);
}
}
$used->[$el] = 0 if $pos + 1;
}

my $start = time();
put([], -1);
print "Time elapsed: ".(time() - $start)." sec\n";
[/code:1]

Ispada da rjesenja ima 6912 (sto je slucajno 27*256=3^3*16^2). Malo sam ispao iz stosa, pa ne znam kako bih izracunao da li je to tocan rezultat.

Generiranje, ispis na ekran i u file, traju 91 sekundu na P2/333, s Perlom 5.6.0 na RedHatu 7.2. Dobiveni file je oko 1.5MB.

Btw, Nesi, mislim da nagrada ipak pripada tebi, jer sam ja koristio "tesku" artiljeriju... :) U svakom slucaju, cestitke na 3 kombinacije - ja nisam ni to nasao na ruke. :oops:

Pozdrav!
Sorry, Krcko, nisam mogao izdrzati... Smile

Kod:

#!/usr/bin/env perl

# Uzmite cetiri najjace karte (B, Q, K, A) u cetiri boje
# (pik, karo, herc, tref).
# Zadatak je sloziti karte u matricu 4x4, ali tako da se
# u svakom retku i stupcu svaka vrsta karte i svaka boja
# javlja tocno jednom.

use strict;
use integer;

my $cnt = 0;
my @desc;
foreach my $kind (qw(decko baba kralj as)) {
  foreach my $color (qw(pik karo herc tref)) {
    push @desc, sprintf("%10s", "$color $kind");
  }
}
my $used = [ map { 0 } (0..15) ];

sub check1 {
  my ($m, $el, $i, $step, $pos) = @_;
  while ($i < $pos) {
    return 0 unless ($m->[$i] - $el) % 4;
    return 0 unless $m->[$i] / 4 - $el / 4;
    $i += $step;
  }
  return 1;
}

sub check {
  my ($m, $pos, $el) = @_;
  return 0 unless check1($m, $el, $pos % 4, 4, $pos);
  return check1($m, $el, 4 * ($pos / 4), 1, $pos);
}

sub put {
  my ($m, $pos, $el) = @_;
  if ($pos + 1) {
    return unless check(@_);
    $m->[$pos] = $el;
    $used->[$el] = 1;
  }
  if ($pos >= 15) {
    print "Rjesenje ".++$cnt.":\n";
    for my $i (0..3) {
      for my $j (0..3) {
        print $desc[$m->[4 * $i + $j]], "  ";
      }
      print "\n";
    }
    print "\n";
  } else {
    foreach my $e (grep { !$used->[$_] } 0..$#$used) {
      put([ @$m ], $pos + 1, $e);
    }
  }
  $used->[$el] = 0 if $pos + 1;
}

my $start = time();
put([], -1);
print "Time elapsed: ".(time() - $start)." sec\n";


Ispada da rjesenja ima 6912 (sto je slucajno 27*256=3^3*16^2). Malo sam ispao iz stosa, pa ne znam kako bih izracunao da li je to tocan rezultat.

Generiranje, ispis na ekran i u file, traju 91 sekundu na P2/333, s Perlom 5.6.0 na RedHatu 7.2. Dobiveni file je oko 1.5MB.

Btw, Nesi, mislim da nagrada ipak pripada tebi, jer sam ja koristio "tesku" artiljeriju... Smile U svakom slucaju, cestitke na 3 kombinacije - ja nisam ni to nasao na ruke. Embarassed

Pozdrav!



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
krcko
Forumaš nagrađen za životno djelo
Forumaš nagrađen za životno djelo


Pridružen/a: 07. 10. 2002. (15:57:59)
Postovi: (18B3)16
Sarma = la pohva - posuda
655 = 759 - 104

PostPostano: 20:02 sub, 26. 10. 2002    Naslov: Citirajte i odgovorite

VSego, VSego..

Em se guras tamo gdje ti nije mjesto (koliko se sjecam polozio si kombinatoriku), em koristis kompjuter umjesto mozga...

Ali dobro, koristenje kompjutera i ostalih ortopedskih pomagala za mozak je legitimno. Problem je u tome sto se na taj nacin najcesce mogu rijesiti samo "mali" kombinatorni problemi, a za vece dolazi do pojave poznate kao kombinatorna eksplozija (samo bez straha, nece vam se raspuknuti vas novi PC :) )

Na primjer, problem s kartama zapravo je pitanje o postojanju ortogonalnih latinskih kvadrata reda 4. Detalje cete naci u Veljanovoj knjizi iz kombinatorike (novoj i staroj). Lako je napisati program koji ce rijesiti problem za red 4, ali pokusajte za red 10..

Evo precizne formulacije "Krcko's computer challenge"-a..

Treba konstruirati dvije 10x10 matrice A=[a_ij] i B=[b_ij] sa svojstvima:

1. Matrice su popunjene brojevima od 1 do 10

2. U svakom retku i stupcu svaki od brojeva javlja se tocno jednom (ovo vrijedi za matricu A i za matricu B)

3. Kad se matrice "poklope" svaki od 100 mogucih parova brojeva od 1 do 10 javit ce se tocno jednom. Preciznije, skup

{(a_ij,b_ij) | i=1..10, j=1..10}

ima 100 razlicitih clanova.

Dakle, trazi se par ortogonalnih latinskih kvadrata reda 10. Jedno rjesenje imate u knjizi, a zadatak je napisati program koji ce u razumnom vremenu pronaci nekoliko (ne sva!) rjesenja. Mislim da ce VSegov algoritam biti prespor, ali postoje algoritmi s kojima se to moze.

[b]Upozorenje:[/b] ovaj problem potjece od L.Eulera iz 1782. i bio je nerijesen sve do 1959. Dakle, uhvatite se toga samo ako vas stvarno zanima i ako imate vremena.. svi osim VSege, koji ga mora rijesiti za domacu zadacu :twisted:
VSego, VSego..

Em se guras tamo gdje ti nije mjesto (koliko se sjecam polozio si kombinatoriku), em koristis kompjuter umjesto mozga...

Ali dobro, koristenje kompjutera i ostalih ortopedskih pomagala za mozak je legitimno. Problem je u tome sto se na taj nacin najcesce mogu rijesiti samo "mali" kombinatorni problemi, a za vece dolazi do pojave poznate kao kombinatorna eksplozija (samo bez straha, nece vam se raspuknuti vas novi PC Smile )

Na primjer, problem s kartama zapravo je pitanje o postojanju ortogonalnih latinskih kvadrata reda 4. Detalje cete naci u Veljanovoj knjizi iz kombinatorike (novoj i staroj). Lako je napisati program koji ce rijesiti problem za red 4, ali pokusajte za red 10..

Evo precizne formulacije "Krcko's computer challenge"-a..

Treba konstruirati dvije 10x10 matrice A=[a_ij] i B=[b_ij] sa svojstvima:

1. Matrice su popunjene brojevima od 1 do 10

2. U svakom retku i stupcu svaki od brojeva javlja se tocno jednom (ovo vrijedi za matricu A i za matricu B)

3. Kad se matrice "poklope" svaki od 100 mogucih parova brojeva od 1 do 10 javit ce se tocno jednom. Preciznije, skup

{(a_ij,b_ij) | i=1..10, j=1..10}

ima 100 razlicitih clanova.

Dakle, trazi se par ortogonalnih latinskih kvadrata reda 10. Jedno rjesenje imate u knjizi, a zadatak je napisati program koji ce u razumnom vremenu pronaci nekoliko (ne sva!) rjesenja. Mislim da ce VSegov algoritam biti prespor, ali postoje algoritmi s kojima se to moze.

Upozorenje: ovaj problem potjece od L.Eulera iz 1782. i bio je nerijesen sve do 1959. Dakle, uhvatite se toga samo ako vas stvarno zanima i ako imate vremena.. svi osim VSege, koji ga mora rijesiti za domacu zadacu Twisted Evil



_________________
Vedran Krcadinac

Ljudi su razliciti, a nula je paran broj.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 2:55 uto, 29. 10. 2002    Naslov: Citirajte i odgovorite

Sreca moja da smo ovdje svi anonimni, pa nitko ne zna tko se krije iza nicka "vsego". 8)

Ostavio sam gore spomenutu masinicu da rijesi problem za n=6 (u malo modificiranom pocetnom programu). Naime, za n=6 nema rjesenja, dok za ostale ima. Eto, proslo je ravno 50 sati i masinica nije nista dala; opterecenje procesora je stalno bilo na 100%. Racunajte da je to masina od 663 MIPSa (millions instructions per second) i da 50 sati ima 180000 sekundi. Ako uzmemo da postoji overhead Perla i Linuxa, ali da nije velik (recimo 15ak MIPSa, mada mislim da je i to pretjerivanje), ostaje 650*180000 milijuna operacija. To je oko [b]117 trilijuna[/b] (ono iza milijarde) operacija, tj 117*10^12. Ipak, nije to nista naspram ukupnog broja kombinacija (kad se zanemare uvjeti na stupce i retke): 372*10^39. :shock:

Mislim da cemo masinica i ja na podulji odmor od Krckovih zadataka...
Sreca moja da smo ovdje svi anonimni, pa nitko ne zna tko se krije iza nicka "vsego". Cool

Ostavio sam gore spomenutu masinicu da rijesi problem za n=6 (u malo modificiranom pocetnom programu). Naime, za n=6 nema rjesenja, dok za ostale ima. Eto, proslo je ravno 50 sati i masinica nije nista dala; opterecenje procesora je stalno bilo na 100%. Racunajte da je to masina od 663 MIPSa (millions instructions per second) i da 50 sati ima 180000 sekundi. Ako uzmemo da postoji overhead Perla i Linuxa, ali da nije velik (recimo 15ak MIPSa, mada mislim da je i to pretjerivanje), ostaje 650*180000 milijuna operacija. To je oko 117 trilijuna (ono iza milijarde) operacija, tj 117*10^12. Ipak, nije to nista naspram ukupnog broja kombinacija (kad se zanemare uvjeti na stupce i retke): 372*10^39. Shocked

Mislim da cemo masinica i ja na podulji odmor od Krckovih zadataka...



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
krcko
Forumaš nagrađen za životno djelo
Forumaš nagrađen za životno djelo


Pridružen/a: 07. 10. 2002. (15:57:59)
Postovi: (18B3)16
Sarma = la pohva - posuda
655 = 759 - 104

PostPostano: 0:16 sri, 30. 10. 2002    Naslov: Citirajte i odgovorite

Eto, VSegovi trilijuni su pravi primjer kombinatorne eksplozije. Problem je za n=6 poznat kao "Eulerov problem 36 oficira". Taj problem nema rjesenja, tj. ne postoji par ortogonalnih latinskih kvadrata reda 6.

Zanimljivo je da je to dokazao izvjesni G.Tarry davne 1900. godine, dok racunala jos nisu ni postojala. Tarry naravno nije mogao ispitati trilijune mogucnosti. Identificirao je latinske kvadrate koji su ekvivalentni obzirom na permutacije redaka, stupaca, simbola i operacije slicne transponiranju. Postoji samo 12 neekvivalentnih latinskih kvadrata reda 6. Dovoljno je za tih 12 kvadrata dokazati da ne posjeduju ortogonalni par. To bi se danas pomocu racunala napravilo za cas, no Tarry se ipak posteno namucio. Njegov dokaz poznat je upravo po "mukotrpnosti" - konkurira mu jedino Hermesova konstrukcija pravilnog 65537-terokuta.

No vratimo se problemu s kartama. Pozivam Nesi da napise rjesenje, pa cemo proglasiti pobjednika i preci na novi zadatak...
Eto, VSegovi trilijuni su pravi primjer kombinatorne eksplozije. Problem je za n=6 poznat kao "Eulerov problem 36 oficira". Taj problem nema rjesenja, tj. ne postoji par ortogonalnih latinskih kvadrata reda 6.

Zanimljivo je da je to dokazao izvjesni G.Tarry davne 1900. godine, dok racunala jos nisu ni postojala. Tarry naravno nije mogao ispitati trilijune mogucnosti. Identificirao je latinske kvadrate koji su ekvivalentni obzirom na permutacije redaka, stupaca, simbola i operacije slicne transponiranju. Postoji samo 12 neekvivalentnih latinskih kvadrata reda 6. Dovoljno je za tih 12 kvadrata dokazati da ne posjeduju ortogonalni par. To bi se danas pomocu racunala napravilo za cas, no Tarry se ipak posteno namucio. Njegov dokaz poznat je upravo po "mukotrpnosti" - konkurira mu jedino Hermesova konstrukcija pravilnog 65537-terokuta.

No vratimo se problemu s kartama. Pozivam Nesi da napise rjesenje, pa cemo proglasiti pobjednika i preci na novi zadatak...



_________________
Vedran Krcadinac

Ljudi su razliciti, a nula je paran broj.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
Nesi
Inventar Foruma
(Moderator)
Inventar Foruma<br>(Moderator)


Pridružen/a: 14. 10. 2002. (14:27:35)
Postovi: (E68)16
Spol: kućni ljubimac
Sarma: -

PostPostano: 21:30 sri, 30. 10. 2002    Naslov: Citirajte i odgovorite

inace, samo da dodam.... ja sam rekla da postoje bar tri rjesenja.....
ja sam nasla jedno ;o) i meni bilo dovoljno ;o)
hm... dal se oni nastali rotacijom i/ili raznoraznim polovljenjima broje kao razliciti ili kao jedan te isti?

nego
my answer:
h:=herc; k:=kara; p:=pik; t:=tref;
A K Q J se valjda zna ;o)

hA kK tQ pJ
tK pA hJ kQ
pQ tJ kA hK
kJ hQ pK tA

nadam se da sma dobro prepisala sa korica biljeznice gdje je trenutak pronalaska ovjekovjecen ;o)))

hmda.... aj nek zadaci probaju biti nekog neutralnog gradiva.... a ne da moram znati npr cijelu prvu i drugu godinu faxa da bi znala/mogla rjesiti.....
ili, bar nek se nadje pokoji i za nas male ;o))
inace, samo da dodam.... ja sam rekla da postoje bar tri rjesenja.....
ja sam nasla jedno ;o) i meni bilo dovoljno ;o)
hm... dal se oni nastali rotacijom i/ili raznoraznim polovljenjima broje kao razliciti ili kao jedan te isti?

nego
my answer:
h:=herc; k:=kara; p:=pik; t:=tref;
A K Q J se valjda zna ;o)

hA kK tQ pJ
tK pA hJ kQ
pQ tJ kA hK
kJ hQ pK tA

nadam se da sma dobro prepisala sa korica biljeznice gdje je trenutak pronalaska ovjekovjecen ;o)))

hmda.... aj nek zadaci probaju biti nekog neutralnog gradiva.... a ne da moram znati npr cijelu prvu i drugu godinu faxa da bi znala/mogla rjesiti.....
ili, bar nek se nadje pokoji i za nas male ;o))



_________________
It's not who you love. It's how.


Zadnja promjena: Nesi; 14:23 uto, 3. 2. 2004; ukupno mijenjano 1 put.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
krcko
Forumaš nagrađen za životno djelo
Forumaš nagrađen za životno djelo


Pridružen/a: 07. 10. 2002. (15:57:59)
Postovi: (18B3)16
Sarma = la pohva - posuda
655 = 759 - 104

PostPostano: 22:12 sri, 30. 10. 2002    Naslov: Citirajte i odgovorite

Cestitam Nesi!

Osvojila si 2 kg [i]casti [/i] i 1/2 kg [i]slave[/i]. Regularna doza casti bila bi 1 kg, ali tebi ide ekstra jer si na prvoj godini. A slava ce se gomilati ako nastavis rjesavati zadatke :)

Ujedno pozivam studente druge godine (sophomores? :?) da se ukljuce. Ne dopustite brucosima da budu brzi od vas! :wink:

Sto se tice predznanja, za kombinatoricke zadatke obicno ga ne treba puno. Presudna je domisljatost i malo upornosti.. naravno pomaze i praksa, vjezba cini majstora.
Cestitam Nesi!

Osvojila si 2 kg casti i 1/2 kg slave. Regularna doza casti bila bi 1 kg, ali tebi ide ekstra jer si na prvoj godini. A slava ce se gomilati ako nastavis rjesavati zadatke Smile

Ujedno pozivam studente druge godine (sophomores? Confused) da se ukljuce. Ne dopustite brucosima da budu brzi od vas! Wink

Sto se tice predznanja, za kombinatoricke zadatke obicno ga ne treba puno. Presudna je domisljatost i malo upornosti.. naravno pomaze i praksa, vjezba cini majstora.



_________________
Vedran Krcadinac

Ljudi su razliciti, a nula je paran broj.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
Nesi
Inventar Foruma
(Moderator)
Inventar Foruma<br>(Moderator)


Pridružen/a: 14. 10. 2002. (14:27:35)
Postovi: (E68)16
Spol: kućni ljubimac
Sarma: -

PostPostano: 22:41 sri, 30. 10. 2002    Naslov: Citirajte i odgovorite

fala fala ;o))
trudit cem se ja i dalje :o))
fala fala ;o))
trudit cem se ja i dalje :o))



_________________
It's not who you love. It's how.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Diskretna matematika Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan