Full resolution (JPEG) - On this page / på denna sida - H. 21. 22 maj 1956 - Lösning av ett tekniskt problem på Besk, av Göran Kjellberg och Erik Mattson
<< prev. page << föreg. sida << >> nästa sida >> next page >>
Below is the raw OCR text
from the above scanned image.
Do you see an error? Proofread the page now!
Här nedan syns maskintolkade texten från faksimilbilden ovan.
Ser du något fel? Korrekturläs sidan nu!
This page has never been proofread. / Denna sida har aldrig korrekturlästs.
15 maj 1956
493
Planering av maskinräkningen
En matematikmaskin räknar fortare men
mindre intelligent än en kontorsflicka och
behöver utförligare instruktioner. Uppläggningen
av en beräkning med automatisk räknemaskin
blir därför oftast inte densamma som vid
handräkning. Själva räknearbetet är billigare, men
förberedelserna, utarbetandet av
räkneprogram-met, dyrare, och man kan så komma att föredra
en enkel men relativt "långsam" metod, där man
vid handräkning skulle ha valt en snabbare och
mera komplicerad.
I detta fall valdes vid maskinräkningen i stort
sett samma metod som den som användes vid
handräkning på fyrstödsbalken. En närmare
jämrörelse visar dock, att Besk fick slösa grovt
med räknetiden, för att i stället det använda
passningsförfarandet skulle bli så systematiskt
och programmet därmed så enkelt som möjligt.
Genom multiplikation med lämpliga skalfaktorer, och
någon omplacering, transformerar man ekvationssystemet
(3) till
Ä.’ K Ä ,. s
n = ––:— — 0 (4 a)
Ti —
där
K’ =
2 ,
¥ y
K"
y + z
y + z
= 0 (4 b)
æ3 [0,45 - 0,24 bx] + gs [0,45 - b (0,45 x + 0,21 y)]
K — y3 [0,45 - b (0,45 x + 0,24 y)] +
+ z3 [0,45 - b (0,45 x + 0,45 y + 0,21 z)}
K" = [0,45 - b (0,45 x + 0,45 y + 0,24 z)] +
+ f [0,45 - b (0,45 x + 0,45 y + 0,45 z + 0,21 0]
b = 1 — <x
t =1 — x — y — z
1 K
M =
(4 c)
(4)
5,4 y + z
Skalfaktorerna införs därför att Besk räknar med tal som
ligger mellan — 1 och + 1.
Detta är ett ekvationssystem av två ekvationer
(4 a) och (4 b) i tre obekanta x, y och z. En
tredje ekvation (4 c) definierar storheten M, som
skall minimeras. För godtyckligt x kan
ekvationssystemet lösas i y och z. När M beräknas
med dessa värden av x, y och z, blir M en
funktion av den enda oberoende variabeln x. Det
gäller att finna det æ-värde som ger det minsta
värdet av M.
Denna uppgift löstes genom att Besk fick söka
sig fram. Den började med givna
begynnelsevärden av två variabler, x0 och hx.
Ekvationssystemet (4) löstes i y och z för x = x0 och M
räknades ut. Samma sak upprepades med x = x0 — hx
och med x — x0 + hx. De tre M-värdena
jämfördes, det x-värde som gett det minsta M-värdet
togs till nytt x0 och räkningen upprepades med
detta värde på x0. Om det nya x0 var lika med
det gamla, halverades dessutom hx innan räk-
ningen fortsattes. Denna procedur fick fortgå till
dess hx blivit mindre än en viss tolerans,
varefter värdena av oc, x, y, z, ru r2 och M skrevs ut.
Allt detta upprepades för de olika ce-värdena.
Man kan få en översikt över förfarandet i ett
flödesdiagram, fig. 4.
Lösningen av ekvationssystemet för y och z
skedde på liknande sätt, genom sökning efter ett
minimum. Sökandet blev dock något
omständligare, då man nu letade efter en punkt i ett plan
i stället för efter en punkt på en linje.
Kvadre-ras vänstra leden i de båda ekvationerna (4 a)
och (4 b) och sättes s = r±2 + r22 är s för ett
givet värde på x en funktion av y och z, som har
minimum för r± = = 0. Funktionen s kan
tänkas ha även andra minima, men mot det kan
man gardera sig genom att låta maskinen skriva
ut r± och r2 när en minimipunkt påträffats. rx
och r2 skall då vara lika med noll, om
minimi-punkten också är en lösning.
Besk fick börja med en "mittpunkt" och
beräknade s i denna punkt samt i åtta punkter
placerade på omkretsen av en kvadrat runt
mittpunkten med sidan 2 h, fig. 5. De nio s-värdena
jämfördes, och den punkt som gav det lägsta
s-vär-det fick bli ny mittpunkt. Om den nya mittpunk-
Fig. 4. "Flödesdiagram", översikt över räkneprogrammet i
Besk. En pil betyder, att ett nytt värde sätts in i stället
för ett hittillsvarande. Sålunda betyder "x0 — hx —> x0" att
xo — hx ersätter det förutvarande x0) "0 —> oc" att oc får
värdet O, och "oc + 0,05 —>• oc" att oc ökas med 0,05.
<< prev. page << föreg. sida << >> nästa sida >> next page >>