Az " algebroritmus " a operáció kutatás és a algoritmus édestestvére . Az algebroritmus a szokásos számítható algebrai kifejezéseket viszi el teljesen új irányba, mégpedig a kód formalizmusoknak a matematika berkeiben való legalizálásai irányába . Ez a matematika egy teljesen új még fejlődésben lévő területe, én Okos Árnyék {Erdős Attila Rimaszombatból} találtam ki ! A sokféle algebroritmus egyik fő lehetséges megoldása a Huzzy kód, ami szintén az én művem !
De nem, mégis rövidebb, bár a kilenc futam is elég soknak tűnik azért.
Kellene egy huszárvágás, ha létezik.
Bár egy programhoz elég, ha egyáltalán VAN korrekt eredményre vezető algoritmus, az már a következő lépés, hogy a program futási ideje minimális legyen, és úgy hozza a korrekt eredményt.
A végeredmény stimmel, de 97 és 96 már kiesett a versenyből, miközben a leglassabb 5 legkevésbé lassú 3asa még tovább versenyez.
Szóval időmérő eszköz jótékonyan csökkenti a felesleges ersenyzés energiaigényét, sérülésveszélyét, és kevesebbszer kell ruhát mosni. Skolstrejk för klimatet!;)
Valóban az is eredményre vezet, ha futamonként az elso hármat jegyezzük, és a maradék eleve kipotyog.
De így túl soknak látszik a szükséges futamok száma.
Ha megfordítjuk a dolgot, és rendezünk eloször egy selejtező öt futamot ugyanúgy, és a gyoztesekbol képezünk egy ötöst, abban legalább a leggyorsabb benne lesz, de lehet, hogy a két leggyorsabb, esetleg mind a három.
Az öt győztest megversenyeztetjük (a selejtező öt futama után ez lesz a hatodik futam), így lesz közöttük egy sorrend.
A negyedik-ötödik itt kiesik, el lehet felejteni.
A selejtező második helyzettjeit is megversenyeztetjük (hetedik futam), közülük vesszük az első kettőt.
A selejtező harmadik helyezettjeit is megversenyeztetjük (nyolcadik futam), közülük pedig csak az elsőt vesszük.
Ezt a kettő + egyet hozzáadjuk a selejtező első helyezettjei közül az ottani másodikhoz és harmadikhoz, ez öt ló (a selejtező első helyezettjei közül a legelső eleve a leggyorsabb, ez már eldőlt), és ezekkel rendezünk egy kilencedik futamot. Itt kiderül a második és a harmadik leggyorsabb is.
Na most a kérdés, lehet-e kilenc futamnál kevesebből biztosan eldönteni, melyik a három leggyorsabb?
Most így nem tudom, illetve nem látom, hogy kevesebb futamból hogy lehetne...
Ha az öt leggyorsabb fut, akkor (jelöléseddel) a végeredmény 100, 99 és 98 győzelme, tehát 98 alatt essen is ki mindenki. (Másik kérdés, hogy amíg a többieket nem versenyeztetjük, addig nem tudhatjuk, hogy túl vagyunk a három legjobb ló futamán.)
Ha 97 és 96 kiesik, mert 3 nála jobb, de 95,94,93 tovább versenyez lószerszámot lesz motovációja 97nek és 96 nak edzeni és 101+t futni. Ha nincs kiegyenlítve a mérleg senki és semmi nem fogja kockâztatni az egészségét, jövőjét.
futamonként a két utolsó lovat tovább versenyeztetni az összetett dobogóért teljesen felesleges
pontosabban: futamonként a harmadik helynél hátrébb végzett lova(ka)t tovább versenyeztetni az összetett dobogóért teljesen felesleges (a vége felé már nincs mindig 5 ló egy futamban).
A kiesős rendszer nem igazságtalan, legalábbis ahogy én leírtam, úgy nem.
Ha egy futamban az 5 ló közül a lovam a negyedik vagy az ötödik helyen fut be, akkor már tuti nem lehet összesítésben az első három közt, hiszen kapásból a saját futamában van 3, aki jobb nála. Tehát futamonként a két utolsó lovat tovább versenyeztetni az összetett dobogóért teljesen felesleges. (Más futamokban meg lehetnek még jobbak, persze, de ez már csak a futam első három helyezettjét kell hogy izgassa.)
"Hát ez az . Ilyen nem való példaprogramnak, mert ez inkább egy találós kérdés !"
.
Meg ahogy mennyire tévedsz.
Itt kezdődik a programozó, és erre van
Hogy feladatokat oldjon meg úgy, hogy megtalálja az optiimális megoldást a részproblémákra, algoritmizálja ezeket, és építse fel a teljes programot.
Ez a kis feladat nyilván csak egy kis rész, egy igazi feladat sok ilyenből állhat össze.
Az, aki egy ilyen kis példafeladatot még értelmezni sem tud, nem hogy öt perc alatt megoldani, és köpni a rövid, optimális algoritmusát, az ne menjen programozónak, mert a gyakorlatban semmit sem ér.
És ebből is látható, hogy egy programozónak a feladat ad gondolkodni valót, magának a programnyelvnek ezt nem megnehezítenie kell, hanem minél inkább megkönnyítenie.
A te általad itt kitalált valami nem könnyíti meg a programozó dolgát, mert a programozónak nem az a dolga, hogy hieroglifákkal dolgozzon, hanem egy fasza programnyelven, ami éppen az adott feladathoz a legjobb, minél gyorsabban le tudja programozni a feladatot.
Ide kellenek, elemi 8x8 mátrixok . Ezeket a mátrixokat egy halmazban~listában kell tárolni . Akkor kell egy ciklus ami a vezéreket sorra veszi . Kell egy léptető, egy ütközés figyelő ciklusok . Kell egy mátrixot vezérekkel feltöltő ciklus . A helyes mátrixok nak kell egy számláló . És végül kell egy kiíratás .
Ez összesen: kb. 8 db szerkezet, amit még sokk teszt futtatással össze is kellene hangolni . Csináltam már ilyesmit HTML-ben, ezért tudom, hogy sok vacakolással jár együtt .
No mondjuk ez már normális példaprogram lehetne, de túl komplikált már csak a közbülső tesztelgetés miatt is .
De akkor itt egy egyszerűbb. Rakjunk le 8 vezért egy sakktáblára úgy, hogy egyik se üthesse egyik másikat se. (A vezér átlósan, vízszintesen és függőlegesen tud ütni.)
Hány (elforgatással és tükrözéssel egymásba át nem vihető) megoldás van?
Időmérő szerkezet nem használható, de - talán elkerülte a figyelmedet - a lovakat ötösével versenyeztetni lehet. Ha ez segít, indíts pl. ötöt egyszerre, és amelyik előbb ér be, az gyorsabb. Hm? A nevük - Huzzyméltatlan, elismerem, de ha egyszer gondot okoz, hát gondot okoz - legyen mondjuk 01, 02, ..., 24 és 25.
A nagy programoknál úgy van, hogy csak kis funkciókat vagy szubrutinokat írnak hozzá .
A fizikában gyakori, hogy mindenféle konstansokat használnak a képleteikhez . Ezeket eddig az angol abc betűiből szerkesztet megnevezésekkel illeték . Mivel a Huzzy -ban az egész Unicode karakterkészlet egészéből válogathatunk, sőt külső fájlból kézzel szerkesztett piktogramokat szúrhatunk be, ezért fantasztikusnál fantasztikusabb alakot adhatunk e fizikai konstansoknak .
"...van 25 ló, és ki kell deríteni, melyik a három leggyorsabb közülük, de nem használható időmérő szerkezet, és egyszerre max. öt lovat lehet egy futamban versenyeztetni.
Mi az optimális megoldás?"
.
Nem is feltétlenül szükséges a megoldást a Huzzy kóddal algebroritmizálva megadni, nekem elég lenne csak az elvet... :)