Zadanie

Jaro nedávno kontemploval nad imperiálnym systémom jednotiek. Po tom, čo ponadával na všetky míle, libry či galóny, nakoniec ocenil jeho praktickosť zosobnenú v jednotke palec. To je aké krásne vedieť odmerať čokoľvek a kedykoľvek bez potreby nosenia príručného pravítka! Potom sa však zháčil uvedomiac si, že zrejme nie každý palec je dlhý presne jeden palec. A chcel vedieť, ako je na tom ten jeho. Malo to však jeden háčik – Jaro so sebou nenosí príručné pravítko. Ako správny fyzik má však so sebou vždy jeden či dva hydraulické piesty.

Jaro si zobral hydraulické zariadenie s piestami, z ktorým menší má plochu \(\SI{10}{\centi\metre\squared}\) a väčší je presne \(\pi\)-krát väčší. Vo vnútri piestu sa nachádza voda. Jaro má taktiež sadu závaží s hmotnosťami \(\SIlist{1;4;9;16;25;36;49;64;81;100}{\gram}\). Ako ich má rozmiestniť na piesty, aby rozdiel výšok piestov bol čo najbližšie k jednému palcu? Hmotnosť piestov je zanedbateľná.

Nájsť optimálne rozmiestnenie závaží môže byť zdĺhavé, preto sa nebojte použiť napríklad Excel. Ak nenájdete optimálne riešenie, nezúfajte. Bodovanie sa bude odvíjať od toho, k akým presným riešeniam sa dopracujete.

Úloha od nás chce nájsť také rozmiestnenie závaží, aby bol rozdiel výšok piestov blízko jednému palcu. Mohli by sme začať ukladať nejaké závažia a počítať, aký bude výsledok, ale iba by sme sa zbytočne namakali. Pri výpočtoch by sme sa totiž zamysleli, že robíme stále skoro to isté, iba dosadzujeme iné hodnoty závaží. Preto by sme mohli radšej uvažovať, že máme na jednom pieste závažie o hmotnosti \(m_1\) a na druhom závažie o hmotnosti \(m_2\), a vypočítame, o koľko sa piesty posunú. Taktiež si ich plochy označíme \(S_1 = \SI{10}{\centi\metre\squared}\) a \(S_2 = \pi S_1\).

Pre hydraulické piesty musí platiť rovnosť tlakov v rovnakej výške. Nech je jeden piest o \(h\) vyššie ako druhý. Na chvíľu si predstavme, že piest \(2\) je vyššie ako \(1\). Vieme, že v hydraulickom zariadení platí rovnosť tlakov, \(\frac{F_1}{S_1}=\frac{F_2}{S_2}\). Lenže keď dáme na jeden piest závažie, tak sa zvýši tlak, a aby stále platila rovnosť, tak sa druhý piest pohne vyššie. Ako sa takto vykompenzuje sila, keď plocha ostané rovnaká? Pridáme k hmotnosti závažia aj hmotnosť vodného stĺpca nad výškou prvého piesta. Teda presnejšie rovnica \(\frac{F_1}{S_1}=\frac{F_2}{S_2}\) platí v konkrétnej výške. Preto dostaneme rovnicu \[\frac{m_1}{S_1}=\frac{m_2+hS_2\rho_{\mathrm{H_2O}}}{S_2}= \frac{m_2}{S_2}+h\rho_{\mathrm{H_2O}}.\] Je vidieť, že keby sme mali opačnú situáciu, piest \(2\) by bol nižšie ako \(1\), potom by nám stačilo uvažovať výšku \(h\) zápornú.

Dosadíme teraz niektoré známe hodnoty ako \(h=\pm palec= \pm \SI{2.54}{\centi\metre}\), \(S_1=\SI{10}{\centi\metre\squared}\), \(S_2=\pi \cdot \SI{10}{\centi\metre\squared}\) a \(\rho_{\mathrm{H_2O}}=\SI{1}{\gram\per\centi\metre\cubed}\). Trochu poupravujeme a dostaneme \[ \pi m_1= m_2 \pm \num{2.54} \cdot \num{10}\cdot \pi\si{\gram},\] \[3.14 \cdot m_1 - m_2 \approx \pi \cdot m_1 - m_2 = \pm \num{25.4} \cdot \pi\si{\gram} \approx \SI{79.79}{\gram}.\]

Možností ako usporiadať \(10\) závaží na dve plochy, pričom môžeme aj nepoužiť závažie, je \(3^{10}=59049\), čo je veľa na manuálne prehľadávanie. Preto použijeme tabuľkový procesor, napr. Excel, alebo si napíšeme program, ktorý vyskúša všetky možnosti. Takúto tabuľku nájdete na https://fks.page.link/ufo_13_2_1 Pri prezeraní odporúčame stiahnuť, nie prezerať na drive.

Pri prehľadávaní nájdeme dvoch kandidátov v tabuľke, ktorých musíme ešte viac preskúmať \(m_1=\SI{49}{\gram}+\SI{16}{\gram}\), \(m_2=\SI{100}{\gram}+\SI{81}{\gram}+\SI{64}{\gram}+\SI{25}{\gram}+\SI{9}{\gram}+\SI{4}{\gram}+\SI{1}{\gram}\) a \(m_1=\SI{64}{\gram}+\SI{1}{\gram}\), \(m_2=\SI{100}{\gram}+\SI{81}{\gram}+\SI{49}{\gram}+\SI{25}{\gram}+\SI{9}{\gram}+\SI{4}{\gram}\). Všimnime si, že v oboch prípadoch máme \(m_1=\SI{65}{\gram}\), \(m_2=\SI{284}{\gram}\) a \(h \approx \SI{-2.54}{\centi\metre}\). Keďže sme prešli všetky možnosti, tak vieme, že ide o ideálne riešenia.

Samozrejme úloha sa dala vyriešiť aj efektívnejšie bez nutnosti prehľadávať všetky možnosti. Predpokladajme, že na piestoch sú umiestnené závažia \(m_1\), resp. \(m_2\), a nájdime, aký je výškový rozdiel piestov v takej situácii. Z toho, čo sme už pred tým napísali, vieme ľahko nájsť, že hľadaný výškový rozdiel je \[h\left[\si{\centi\metre}\right]=\frac{\pi m_1\left[\si{\gram}\right]-m_2\left[\si{\gram}\right]}{10\pi}.\]

Zostavme si v Exceli nasledovnú tabuľku a poďme ju postupne vypĺňať:

\(m_1\,\left[\si{\gram}\right]\) \(m_2\,\left[\si{\gram}\right]\) \(h\,\left[\si{\centi\metre}\right]\) \(\Delta=h\,\left[\si{\centi\metre}\right]-\SI{2.54}{\centi\metre}\) \(\left|\Delta\right|\)

Manuálne budeme zadávať iba hmotnosti a zvyšok tabuľky sa bude aktualizovať automaticky. V treťom stĺpci sa nám zobrazí výškový rozdiel medzi piestami1, vo štvrtom o koľko sa tento rozdiel líši od jedného palca. Piaty stĺpec slúži len na hľadanie minima.

Začnime. Na úvod vidíme, že keď na piestoch nie sú žiadne závažia, prvý piest je vyššie, takže ak chceme, aby bol, práve naopak, nižšie, musíme ho určite zaťažiť. Začnime teda s prázdnym druhým piestom. Ľahko zistíme, že ak by sme chceli dosiahnuť rozdiel presne jeden palec, potrebovali by sme závažie o hmotnosti \(\SI{25.4}{\gram}\). Také nanešťastie nemáme. Dajme tam teda to najbližšie, čo máme, teda \(m_1=\SI{25}{\gram}\). Uvidíme, že \(\Delta\) je ešte záporná, preto skúsme na prvý piest ešte prihodiť. Vyskúšame teda \(m_1=\SI{26}{\gram}\). Teraz je už \(\Delta\) kladná, takže sme trochu prestrelili. Musíme teda prihodiť aj na druhý piest. Jednogramové závažie sme už však použili, preto prihoďme hneď \(\SI{4}{\gram}\). Zistíme, že to je ale priveľa, preto opäť prihodíme na prvý piest. Najmenšia vyššia hmotnosť, ktorú vieme vytvoriť, je \(\SI{29}{\gram}\). To ale znamená, že musíme prehodiť štvorgramové závažie na prvý piest. Na druhom potom môžeme vyskúšať \(\SIlist{9;10;16}{\gram}\). Takto budeme postupne pokračovať, až preveríme všetky zmysluplné možnosti. Začiatok tabuľky by potom mohol vyzerať nejako takto:

\(m_1\,\left[\si{\gram}\right]\) \(m_2\,\left[\si{\gram}\right]\) \(h\,\left[\si{\centi\metre}\right]\) \(\Delta=h\,\left[\si{\centi\metre}\right]-\SI{2.54}{\centi\metre}\) \(\left|\Delta\right|\)
\(25\) \(0\) \(\num{2.5}\) \(\num{-0.04}\) \(\num{0.04}\)
\(26\) \(0\) \(\num{2.6}\) \(\num{0.06}\) \(\num{0.06}\)
\(26\) \(4\) \(\num{2.472676}\) \(\num{-0.06732}\) \(\num{0.06732}\)
\(29\) \(9\) \(\num{2.613521}\) \(\num{0.073521}\) \(\num{0.073521}\)
\(29\) \(10\) \(\num{2.58169}\) \(\num{0.04169}\) \(\num{0.04169}\)
\(29\) \(16\) \(\num{2.390704}\) \(\num{-0.1493}\) \(\num{0.1493}\)

Keď sa dopracujeme na koniec, tak situáciu otočíme a budeme preverovať možnosti, v ktorých by bol hore prvý piest, t.,j. možnosti, v ktorých je \(h\) rovné mínus jeden palec.2 Na záver už len nájdeme minimum v piatom stĺpci, čím nájdeme najoptimálnejšiu voľbu závaží.

Takýmto postupom sme znížili počet možností, ktoré bolo treba preveriť, zhruba na odmocninu z celkového počtu, čo je už slušná optimalizácia, no nie?


  1. kladný, ak je druhý piest vyššie – v súlade s naším predpokladom↩︎

  2. Vo štvrtom stĺpci musíme odpočítavať \(\SI{-2.54}{\centi\metre}\).↩︎

Diskusia

Tu môžte voľne diskutovať o riešení, deliť sa o svoje kusy kódu a podobne.

Pre pridávanie komentárov sa musíš prihlásiť.