/ Forside / Karriere / Uddannelse / Højere uddannelser / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Højere uddannelser
#NavnPoint
Nordsted1 1588
erling_l 1224
ans 1150
dova 895
gert_h 800
molokyle 661
berpox 610
creamygirl 610
3773 570
10  jomfruane 570
Hvordan findes alle kobinationer af værdie~
Fra : Jacob Jensen


Dato : 14-06-05 11:34

Hej

Jeg har prøvet på dk.edb.programmering, men det gav ikke rigtigt noget, så
nu prøver jeg her. Jeg prøver også at formulere spørgsmålet lidt bedre da
det kiksede lidt derovre.

Jeg har følgende:
x mulige værdier af tage af.
y pladser som skal tildeles disse x værdier (der må gerne være dubletter).

Umiddelbart vil man sige at dette kan gøres på x^y måder ikke? Men i mit
tilfælde kan mange af disse kombinationer ses som ækvivalente (se eksemplet
nedenfor), så jeg ønsker ikke at udregne alle x^y kombinationer (i så fald
ville antallet af beregninger stige eksponencielt med y og det vil jeg
vældigt gerne undgå).

Eksempel:
x = 3 (tallene 10,20 og 30).
y = 3.

Jeg ønsker nu kun at udregne følgende kombinationer:
10 10 10
10 10 20
10 10 30
10 20 30
10 30 30
20 30 30
30 30 30

....nemlig kun dem hvor summen af de 3 tal er forskellige. Hvordan findes
netop disse kombinationer og altså ikke alle 3^3 = 27 muligheder på en
systematisk måde?

PS: Tallene 10, 20 og 30 var helt tænkte. Det kan være hvad som helst, men
de er konstante.

Jacob



 
 
jenspolsen@hotmail.c~ (14-06-2005)
Kommentar
Fra : jenspolsen@hotmail.c~


Dato : 14-06-05 12:51



Hvis jeg forstår dig rigtigt, så har du slet ikke y pladser, da både
absolut og relativ rækkefølge ingen som helst rolle spiller.
Du skal bare udtage y tal ud af et udvalg af x konstanter, hvor hver
konstant gerne må vælges flere gange. Og dit spørgsmål er nu. Hvor
mange forskellige værdier for summen af de y tal kan dette give.
Er det korrekt forstået?

J.O.


Jacob Jensen (14-06-2005)
Kommentar
Fra : Jacob Jensen


Dato : 14-06-05 13:28

>Hvis jeg forstår dig rigtigt, så har du slet ikke y pladser, da både
absolut og relativ rækkefølge ingen som helst rolle spiller.

Ja man kan godt sige at jeg ikke har "pladser" som sådan for disse to
"mængder" kan ses som ækvivalente da deres sum er ens: 10 10 20 og 10 20 10.
Mængde er dog også et lidt forkert ord ikke? Der er jo dubletter. Hvad
hedder sådan noget? På engelsk hedder det vist "multisets".

>Du skal bare udtage y tal ud af et udvalg af x konstanter, hvor hver
konstant gerne må vælges flere gange. Og dit spørgsmål er nu. Hvor
mange forskellige værdier for summen af de y tal kan dette give.
Er det korrekt forstået?

Ja



Bertel Lund Hansen (14-06-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 14-06-05 17:50

Jacob Jensen skrev:

>Men i mit tilfælde kan mange af disse kombinationer ses som ækvivalente (se eksemplet
>nedenfor), så jeg ønsker ikke at udregne alle x^y kombinationer (i så fald
>ville antallet af beregninger stige eksponencielt med y og det vil jeg
>vældigt gerne undgå).

>Eksempel:
>x = 3 (tallene 10,20 og 30).
>y = 3.

>Jeg ønsker nu kun at udregne følgende kombinationer:
>10 10 10
>10 10 20
>10 10 30
>10 20 30
>10 30 30
>20 30 30
>30 30 30

Hvis du kikker på dit eksempel, vil du opdage at sættene følger
en bestemt regel: Der kommer aldrig et mindre tal efter et givet
tal, og på samme plads næste gang må der heller ikke følge et
mindre tal.

Du skal altså starte med at fylde alle pladser med det mindste
tal og så køre de større tal ind fra højre.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Martin Larsen (14-06-2005)
Kommentar
Fra : Martin Larsen


Dato : 14-06-05 19:26

"Bertel Lund Hansen" <nospamfilius@lundhansen.dk> skrev i en meddelelse news:dd2ua1dj0stsvthvrdraa7u9248ru1tu2k@news.stofanet.dk...
>
> Hvis du kikker på dit eksempel, vil du opdage at sættene følger
> en bestemt regel: Der kommer aldrig et mindre tal efter et givet
> tal, og på samme plads næste gang må der heller ikke følge et
> mindre tal.
>
> Du skal altså starte med at fylde alle pladser med det mindste
> tal og så køre de større tal ind fra højre.
>
Joew, Bertel, men hvad så hvis vi tager fx 1,2,4:

1 2 4
1 4 4

Hvor gør vi så af 2 2 4 ?

Mvh
Martin



Ukendt (15-06-2005)
Kommentar
Fra : Ukendt


Dato : 15-06-05 09:38

"Martin Larsen" <mlarsen@post7.tele.dk> skrev i en meddelelse
news:42af2137$0$18646$14726298@news.sunsite.dk...
> "Bertel Lund Hansen" <nospamfilius@lundhansen.dk> skrev i en meddelelse
> news:dd2ua1dj0stsvthvrdraa7u9248ru1tu2k@news.stofanet.dk...
>>
>> Hvis du kikker på dit eksempel, vil du opdage at sættene følger
>> en bestemt regel: Der kommer aldrig et mindre tal efter et givet
>> tal, og på samme plads næste gang må der heller ikke følge et
>> mindre tal.
>>
>> Du skal altså starte med at fylde alle pladser med det mindste
>> tal og så køre de større tal ind fra højre.
>>
> Joew, Bertel, men hvad så hvis vi tager fx 1,2,4:
>
> 1 2 4
> 1 4 4
>
> Hvor gør vi så af 2 2 4 ?

Du har tallene {1, 2, 4} og 3 pladser at sætte dem.

Efter Bertels metode:

1 1 1
1 1 2
1 1 4
1 2 2
1 2 4 [* dit tal]
1 4 4 [* dit tal]
2 2 2
2 2 4 [* dit tal]
2 4 4
4 4 4

hvilket giver 10 kombinationsmetoder. Teoretisk er der 3^3 = 27
kombinationsmetoder, men du vil finde at alle 17 manglende er indeholdt i
ovenstående 10, når du går ud fra at rækkefølgen af tallene er irrelevant -
da du kun er interesseret i summen.

Med venlig hilsen

Filip Drejer Johnsen



Martin Larsen (15-06-2005)
Kommentar
Fra : Martin Larsen


Dato : 15-06-05 11:28

"Filip Drejer Johnsen" <write to filip at johnzen [dot] net> skrev i en meddelelse news:42afe8fa$0$18646$14726298@news.sunsite.dk...
> "Martin Larsen" <mlarsen@post7.tele.dk> skrev i en meddelelse
> news:42af2137$0$18646$14726298@news.sunsite.dk...
>
> Du har tallene {1, 2, 4} og 3 pladser at sætte dem.
>
> Efter Bertels metode:
>
> 1 1 1
> 1 1 2
> 1 1 4
> 1 2 2
> 1 2 4 [* dit tal]
> 1 4 4 [* dit tal]
> 2 2 2
> 2 2 4 [* dit tal]
> 2 4 4
> 4 4 4
>
> hvilket giver 10 kombinationsmetoder. Teoretisk er der 3^3 = 27

Jeg forestiller mig at Bertel selv kan forklare sin metode. Men
uanset dette er den jo forkert, og antallet af muligheder er ikke
10 idet 1 1 4 og 2 2 2 begge giver 6 som sum.

Mvh
Martin



Ukendt (15-06-2005)
Kommentar
Fra : Ukendt


Dato : 15-06-05 14:28

"Martin Larsen" <mlarsen@post7.tele.dk> skrev i en meddelelse
news:42b002a3$0$18636$14726298@news.sunsite.dk...

> Jeg forestiller mig at Bertel selv kan forklare sin metode. Men
> uanset dette er den jo forkert, og antallet af muligheder er ikke
> 10 idet 1 1 4 og 2 2 2 begge giver 6 som sum.

Det er jo korrekt. Men hvad jeg mente var egentlig blot antallet af mulige
kombinationer. Om summerne er ens eller ej er i dette tilfælde irrelevant,
da det er specifikt for den enkelte talkombination.

Med venlig hilsen

Filip Drejer Johnsen



Martin Larsen (15-06-2005)
Kommentar
Fra : Martin Larsen


Dato : 15-06-05 14:40

"Filip Drejer Johnsen" <write to filip at johnzen [dot] net> skrev i en meddelelse news:42b02d23$0$18641$14726298@news.sunsite.dk...
> "Martin Larsen" <mlarsen@post7.tele.dk> skrev i en meddelelse
> news:42b002a3$0$18636$14726298@news.sunsite.dk...
>
> > Jeg forestiller mig at Bertel selv kan forklare sin metode. Men
> > uanset dette er den jo forkert, og antallet af muligheder er ikke
> > 10 idet 1 1 4 og 2 2 2 begge giver 6 som sum.
>
> Det er jo korrekt. Men hvad jeg mente var egentlig blot antallet af mulige
> kombinationer. Om summerne er ens eller ej er i dette tilfælde irrelevant,
> da det er specifikt for den enkelte talkombination.
>
Jeg opgiver så at forstå formålet med dine indlæg.

Mvh
Martin



Ukendt (14-06-2005)
Kommentar
Fra : Ukendt


Dato : 14-06-05 21:50

Hej Jacob.

Jeg har følgende tanke til en systematisering.

Benævn de n tal du har fået udleveret {a1, a2, ... , a(n-1), an}, og lad a1
> a2 > ... > a(n-1) > an (jeg formoder at alle tallene er forskellige).

Du har k huller at putte tal i, og det samme tal a kan puttes i flere huller
samtidig.

---

METODE 1:
Garanti: de er alle forskellige fra hinanden
Antal: giver n summer
Metode: summen af n x det samme tal:
a1 X k
a2 X k
....
an X k

METODE 2:
Garanti: de er alle forskellige fra hinanden og fra summerne i metode 1
Antal: giver (n-1)X(k-1) summer
Metode: summen af kombinationer af to på hinanden følgende tal
a1 X (k-1) + a2, a1 X (k-2) + 2 X a2, ... , a1 + (k-1) X a2
a2 X (k-1) + a3, a2 X (k-2) + 2 X a3, ... , a2 + (k-1) X a3
....
a(n-1) X (k-1) + an, a(n-1) X (k-2) + 2 X an, ... , a(n-1) + (k-1) X an

METODE 3:
Garanti: kombinationerne er nye, men summerne kan være fundet allerede
Antal: fuldender beregningen / reducerer antallet af beregninger
betragteligt
Metode:
Alle talkombinationer, hvorom følgende gælder:
1) tallene skal stå i størrelsesorden
2) ovenstående tal er ikke interessante

Opsummering:

Der er i alt n^k teoretiske kombinationsmuligheder.
Du har allerede fundet n + (n-1)(k-1) forskellige summer ved metode 1 og 2.
Men hvis du laver den (ganske gratis) forudsætning at tallene skal placeres
i rækkefølge efter størrelsesorden har du et mindre antal
kombinationsmuligheder, hvor mange er jeg ved at regne på.
Den mindste sum og den største sum er fundet ved metode 1.
Metode 2 finder systematisk summer imellem de summer, der er fundet ved
metode 1.

Ovenstående ville med tallene {10, 20, 30} og n = k = 3 fremskaffe følgende
summer:

Metode 1: (giver n = 3 summer)
10 + 10 + 10 = 30
20 + 20 + 20 = 60
30 + 30 + 30 = 90

Metode 2: (giver (n - 1) (k - 1) = 4 summer)
10 + 10 + 20 = 40
10 + 20 + 20 = 50
20 + 20 + 30 = 70
20 + 30 + 30 = 80

Der er nu fundet 7 forskellige summer.
Der mangler 3 kombinationsmuligheder.

Disse er:
10 + 10 + 30 = 50
10 + 30 + 30 = 70
10 + 20 + 30 = 60
hvilke summer allerede er fundet.

Med venlig hilsen

Filip Drejer Johnsen



Ukendt (15-06-2005)
Kommentar
Fra : Ukendt


Dato : 15-06-05 09:20

En beregning af tallene:

1) Der er i alt n^k mulige kombinationsmåder.

Af disse forekommer mange dog dobbelt, når rækkefølgen ikke har betydning.
10 - 20 - 10 giver samme sum som 10 - 10 - 20 og 20 - 10 - 10.

2) Hvis man arbejder ud fra den forudsætning at tallene opstilles i
rækkefølge vil kun 10 - 10 - 20 i ovenstående eksempel tælles med.

Antallet af kombinationsmåder kan nu beregnes på følgende måde:

Lav en matrix A af størrelse n x n. Det er en øvre triangulær matrix med
udelukkende med værdier 1. For n = 3 får du:

A=[ 1 1 1 ;_
0 1 1 ;_
0 0 1]
[med MATLAB: A = triu(ones(n,n),0)]

Opstil hertil en matrice B, der er en n x 1 søjlematrix med værdierne 1 alle
steder:

B=[1 1 1] opstillet som en søjle.
[med MATLAB: B = ones(n,1)]

Udfør nu [A^(k-1)] x B. Summen af indgangene i din resulterend matrix er det
antal kombinationsmåder der er ved n tal og k muligheder for at opstille
dem.
[med MATLAB: L = sum(A^(k-1)*B)]

[Det hele komprimeret: n og k er givet:
MATLAB: L = sum(triu(ones(n,n),0)^(k-1)*ones(n,1))]

Taleksempel:

Hvis du tager 4 tal og vil opstille dem på 4 måder opnår du 4^4 = 256
teoretiske kombinationsmåder. Når du opstiller dem i størrelsesorden har du
35 kombinationsmåder.

3) Hvis du anvender METODE 1 som jeg har beskrevet vil du få n = 4 summer.

4) Hvis du anvender METODE 2 som jeg har beskrevet vil du få (n-1)(k-1) = 9
summer.

5) Der er nu 35 - 4 - 9 = 22 kombinationsmetoder tilbage. Jeg tror kun der
er den hårde metode til dem: beregn dem én ad gangen og se om resultatet
allerede er kendt.

[Hvis du arbejder med en fast numerisk forskel på dine n værdier, vil du
have opnået alle mulige kombinationsmuligheder ved METODE 1 og 2, og behøver
ikke regne de sidste ud]

Men 22 er trods alt en størrelsesorden mindre end 256. Og jeg har på
fornemmelsen at den størrelsesorden vil blive bedre. Hvis n = k = 20 har du
teoretisk ca. 10^26 kombinationsmuligheder, men med ovenstående metode får
du ca. 6,89 X 10^10 kombinationsmåder (stadig mange, men dog lidt mere end
1000 billioner færre). Metode 1 giver 20 summer, metode 2 giver 361 summer,
og her har du den højeste og den laveste sum som et godt gitter at
mellemsummer. Du mangler dog at tjekke de sidste 10 milliarder
kombinationsmuligheder - god arbejdslyst. Selv med en god computer
kommer det til at tage tid.

Med venlig hilsen

Filip Drejer Johnsen



Ukendt (15-06-2005)
Kommentar
Fra : Ukendt


Dato : 15-06-05 09:30

Jeg vil gerne komme med følgende lille forkortelse:

> Ovenstående ville med tallene {10, 20, 30} og n = k = 3 fremskaffe
> følgende summer:
>
> Metode 1: (giver n = 3 summer)
> 10 + 10 + 10 = 30
> 20 + 20 + 20 = 60
> 30 + 30 + 30 = 90

Metode 1 tilsiger at summerne beregnes således:
a1 x k = 10 x 3 = 30
a2 x k = 20 x 3 = 60
a3 x k = 30 x 3 = 90

Jeg tror denne metode tidsmæssigt (på en computer) er effektiv.

> Metode 2: (giver (n - 1) (k - 1) = 4 summer)
> 10 + 10 + 20 = 40
> 10 + 20 + 20 = 50
> 20 + 20 + 30 = 70
> 20 + 30 + 30 = 80

Metode 2 tilsiger at summerne beregnes således:
a1 x (k-1) + a2 x (k-2) = 10 x 2 + 20 x 1 = 40
a1 x (k-2) + a2 x (k-1) = 10 x 1 + 20 x 2 = 50
a2 x (k-1) + a3 x (k-2) = 20 x 2 + 30 x 1 = 70
a2 x (k-2) + a3 x (k-1) = 20 x 1 + 30 x 2 = 80

Denne metode er knap så effektiv som metode 1, men bedre en addition af k
tal.

> Disse er:
> 10 + 10 + 30 = 50
> 10 + 30 + 30 = 70
> 10 + 20 + 30 = 60
> hvilke summer allerede er fundet.

Og denne metode kræver addition og er krævende. Den bygger på det princip
Bertel allerede har beskrevet.

Hvis man har konkrete (store) n og k kan det være en fordel at analyse dem
og derved reducere beregningstiden for computeren ved at finde specifikke
metoder.

Med venlig hilsen

Filip Drejer Johnsen



Bertel Lund Hansen (15-06-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 15-06-05 14:40

"Filip Drejer Johnsen" <write to filip at johnzen [dot] net>
skrev:

>Jeg har følgende tanke til en systematisering.

>METODE 1:

>METODE 2:

>METODE 3:

>1) tallene skal stå i størrelsesorden
>2) ovenstående tal er ikke interessante

Vil det egentlig gøre det lettere at splitte op i de tre metoder
frem for at køre 'mit' system slavisk igennem?

En note til hvem der måtte være interesseret:
Jeg kan i sagens natur kun besvare indlæg fra folk der ikke
ligger i mit killfilter.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

jenspolsen@hotmail.c~ (15-06-2005)
Kommentar
Fra : jenspolsen@hotmail.c~


Dato : 15-06-05 09:33



Bertel Lund Hansen wrote:
> Jacob Jensen skrev:
>
> >Men i mit tilfælde kan mange af disse kombinationer ses som ækvivalente (se eksemplet
> >nedenfor), så jeg ønsker ikke at udregne alle x^y kombinationer (i så fald
> >ville antallet af beregninger stige eksponencielt med y og det vil jeg
> >vældigt gerne undgå).
>
> >Eksempel:
> >x = 3 (tallene 10,20 og 30).
> >y = 3.
>
> >Jeg ønsker nu kun at udregne følgende kombinationer:
> >10 10 10
> >10 10 20
> >10 10 30
> >10 20 30
> >10 30 30
> >20 30 30
> >30 30 30
>
> Hvis du kikker på dit eksempel, vil du opdage at sættene følger
> en bestemt regel: Der kommer aldrig et mindre tal efter et givet
> tal, og på samme plads næste gang må der heller ikke følge et
> mindre tal.
>
> Du skal altså starte med at fylde alle pladser med det mindste
> tal og så køre de større tal ind fra højre.

Så simpelt er det ikke. At give forkerte råd, er en dårlig skik!

J.O.


Ukendt (15-06-2005)
Kommentar
Fra : Ukendt


Dato : 15-06-05 09:42

Hej Jens.

Bertels råd er stort set korrekt, bortset fra følgende:
> på samme plads næste gang må der heller ikke følge et
> mindre tal.

Rådet var baseret på det taleksempel der var, og ikke en nærmere analyse.
Men princippet i Bertels tanke er frugtbart, og giver en kraftig reduktion i
antallet af kombinationsmuligheder, større desto større værdier af n og k.

Med venlig hilsen

Filip Drejer Johnsen



jenspolsen@hotmail.c~ (15-06-2005)
Kommentar
Fra : jenspolsen@hotmail.c~


Dato : 15-06-05 12:00



Filip Drejer Johnsen wrote:
> Hej Jens.
>
> Bertels råd er stort set korrekt, bortset fra følgende:
> > på samme plads næste gang må der heller ikke følge et
> > mindre tal.
>
> Rådet var baseret på det taleksempel der var, og ikke en nærmere analyse.
> Men princippet i Bertels tanke er frugtbart, og giver en kraftig reduktion i
> antallet af kombinationsmuligheder, større desto større værdier af n og k.

Du er stadigvæk igang med at reducerer ned til mindste antal uordnede
sæt der kan udtages.

Det må vel imidlertid være (x^y)/y!

Det interessante er vel, om det er nødvendigt at beregne summen for
alle disse.

J.O.


Ukendt (15-06-2005)
Kommentar
Fra : Ukendt


Dato : 15-06-05 14:30

<jenspolsen@hotmail.com> skrev i en meddelelse
news:1118833189.371763.82060@z14g2000cwz.googlegroups.com...

CITAT:
Du er stadigvæk igang med at reducerer ned til mindste antal uordnede
sæt der kan udtages.

Det må vel imidlertid være (x^y)/y!

Det interessante er vel, om det er nødvendigt at beregne summen for
alle disse.
CITAT SLUT:

Det er naturligvis rigtigt.

Men med den manøvre jeg her laver (og har beskrevet uddybende andetsteds i
tråder) reduceres antallet af nødvendige kalkulationer betragteligt ved
større systemer.

Med venlig hilsen

Filip Drejer Johnsen



niels.ellegaard@gmai~ (15-06-2005)
Kommentar
Fra : niels.ellegaard@gmai~


Dato : 15-06-05 14:52

Hint: Hver af dine løsninger kan beskrives som en ordnet mængde
(n[1],n[2],n[3]), der opfylder

n[1] <= n[2] <= n[3]

Nu kan du indføre to tal m[1] og m[2] således at m[1] <= m[2] og
således at n[1], n[2] og n[3] opfylder

n[i] = 10 hvis i <= m[1]
n[i] = 20 hvis m[1] <= i <=m[2]
n[i] = 30 hvis m[2] <= i

Eksempler
m[1]= 0, m[2]= 0 giver (30,30,30)
m[1]= 0, m[2]= 1 giver (20,30,30)
m[1]= 0, m[2]= 2 giver (20,20,30)
m[1]= 0, m[2]= 3 giver (20,20,20)
m[1]= 1, m[2]= 1 giver (10,30,30)
m[1]= 1, m[2]= 2 giver (10,20,30)
m[1]= 1, m[2]= 3 giver (10,20,20)
m[1]= 2, m[2]= 2 giver (10,10,30)
m[1]= 2, m[2]= 3 giver (10,10,20)
m[1]= 3, m[2]= 3 giver (10,10,10)

Jeg vil overlade det til dig selv at finde den generelle løsning til
opgaven :)


niels.ellegaard@gmai~ (15-06-2005)
Kommentar
Fra : niels.ellegaard@gmai~


Dato : 15-06-05 15:50

Hov jeg tror at jeg har misforstået opgaven. Undskyld støjen på
linien


niels.ellegaard@gmai~ (15-06-2005)
Kommentar
Fra : niels.ellegaard@gmai~


Dato : 15-06-05 21:35

Den følgende ide kan blive til en løsning. Vi har tre beløb b1=10.
b2=20 og b3=30. Jeg lader vi lade koefficienterne s1, s2 og s3 angive
hvor mange af hver slags tal vi vælger. Vi skal vælge præcis tre
tal, så koefficienterne skal opfylde

s1 + s2 + s3 = 3

Den samlede sum er givet ved

sum = s1 * b1 + s2 * b2 + s3 * b3

Det store problem er at vi er nødt til at tage højde for den
situation hvor man kan lave samme sum på to måder. Eksempelvis kan
summen 50 skabes på følgende to måder

10 + 10 + 30 = 50
10 + 20 + 20 = 50

Med andre ord skal vi tage højde for en situation hvor vi kan vælge
to sæt (positive heltallige) koefficienter s1,s2,s3 og s'1,s'2 og s'3
således at

s1 * b1 + s2 * b2 + s3 * b3 = s'1 * b1 + s'2 * b2 + s'3 * b3
s1+s2+s3 = 3
s'1+s'2+s'2 = 3

Det hjælper lidt at definere koefficienter ds1 =s1' - s1, ds2 =s2' -
s2 og ds3 =s3' - s3. Dettte giver

ds1* b1 + ds2* b2 + ds3 * b3 = 0 (1)
ds1 + ds2 + ds3 = 0

Måske kan vi komme videre hvis vi finder en liste af lineært
uafhængige løsninger til ligning (1). Vi lave en regel om at vi
ignorerer et sæt koefficienter s1,s2,s3 hvis vores liste indeholder en
løsning ds1,ds2,ds3 således at

s1 > ds1 og s2 > ds2 og s3 > ds3 (2)

Pointen er at vi ignorerer et talsæt s1,s2,s3, hvis talsættet
s1-ds1,s2-ds2,s3-ds3 giver samme sum:

(s1-ds1) * b1+(s2-ds2) * b2+(s3-ds3) * b3 = s1 * b1 + s2 * b2 + s3 * b3

Jeg tror at denne formalisme er en mulig vej fremad, men jeg kan stadig
ikke regne ud hvor mange løsninger der er i alt.


Ukendt (16-06-2005)
Kommentar
Fra : Ukendt


Dato : 16-06-05 12:27

<niels.ellegaard@gmail.com> skrev i en meddelelse
news:1118867689.598589.305370@z14g2000cwz.googlegroups.com...

> Jeg tror at denne formalisme er en mulig vej fremad, men jeg kan stadig
> ikke regne ud hvor mange løsninger der er i alt.

Man kan vel gå ud fra følgende:

Antagelse: alle tallene er heltal.

1) Den mindste sum er det mindste af tallene på alle pladser (a1 * k). Den
største sum er tilsvarende det største af tallene på alle pladser (an * k).
Der kan maksimalt være et antal løsninger svarende til (den største sum) -
(den mindste sum) + 1.

2) Hvis alle tallene har en fast forskel, er det maksimale antal løsninger:
resultatet ovenfor {[(den største sum) - (den mindste sum)] / (den faste
difference)} + 1.

Med venlig hilsen

Filip Drejer Johnsen



Tom Nielsen (15-06-2005)
Kommentar
Fra : Tom Nielsen


Dato : 15-06-05 22:08

prøver lige igen.

Du kan bruge følgende program, men det afprøver blot alle kombinationer, det
er ikke et smart program.

Sub blah()
raekke = 0
raekker = 0
maxsum = 0
For i = 1 To 3
For j = 1 To 3
For k = 1 To 3
raekke = raekke + 1
If i + j + k > maxsum Then
maxsum = i + j + k
raekker = raekker + 1
Debug.Print raekke & ".." & i + j + k & ".." & i & j & k
End If
Next k
Next j
Next i
Debug.Print "Der var " & raekker & " forskellige summer"
End Sub



- Tom
--
www.ellebryg.dk



Jacob Jensen (17-06-2005)
Kommentar
Fra : Jacob Jensen


Dato : 17-06-05 11:39

> Du kan bruge følgende program, men det afprøver blot alle kombinationer,
> det
> er ikke et smart program.

Hvad så hvis brugeren vælger at det skal være summer af 4 tal. Eller 5 tal?
(Jeg har selv lavet et program der tester alle eksponencielt mange
muligheder men det er ubrugeligt ved 5 eller flere tal i summen.

Jacob



jenspolsen@hotmail.c~ (16-06-2005)
Kommentar
Fra : jenspolsen@hotmail.c~


Dato : 16-06-05 12:04



Tom Nielsen wrote:
> Du ruller bare nummerserien, startende fra siden.
>
> Vil du lave det manuelt eller i et program ?
>
> som kode i VB, som du kan lege med i word, excel, visual basic....
> Sub kombinationer()
> raekke = 0
> For i = 1 To 3
> For j = 1 To 3
> For k = 1 To 3
> raekke = raekke + 1
> Debug.Print raekke & ".." & i & j & k
> Next k
> Next j
> Next i
> End Sub
>
> Du kan også lave det rekursivt, men nu har du metoden
>
>
>
> De 27 kombinationer for ABC
>
> A A A
> A A B
> A A C
> A B A
> A B B
> A B C
> A C A
> A C B
> A C C
> B A A
> B A B
> B A C
> B B A
> B B B
> B B C
> B C A
> B C B
> B C C
> C A A
> C A B
> C A C
> C B A
> C B B
> C B C
> C C A
> C C B
> C C C

*øv-horn*, wrong answer! next!

J.O.


Tom Nielsen (16-06-2005)
Kommentar
Fra : Tom Nielsen


Dato : 16-06-05 17:08

<jenspolsen@hotmail.com> wrote in message
news:1118919856.570748.56740@g47g2000cwa.googlegroups.com...

>>*øv-horn*, wrong answer! next!

jaja, men 9 minutter senere var den der - havde lige overset noget i
spørgsmålet, og min træk-tilbage virkede åbenbart ikke




N/A (16-06-2005)
Kommentar
Fra : N/A


Dato : 16-06-05 17:08



jenspolsen@hotmail.c~ (16-06-2005)
Kommentar
Fra : jenspolsen@hotmail.c~


Dato : 16-06-05 20:50

Det er simplet at konstruere et eksempel, hvor hver valgt sæt giver en
forskellig sum.
Så i det generelle tilfælde er der vist ingen vej uden om at prøve
alle muligheder igennem. Surt show, det kan hurtigt blive til pænt
mange muligheder.

J.O.


Jacob Jensen (17-06-2005)
Kommentar
Fra : Jacob Jensen


Dato : 17-06-05 11:36

Hej

Nu da jeg har vækket så manges nysgerrighed vil jeg lige fortælle om
problemet lidt mere konkret. Jeg har følgende mængde tal:

[1.0, 1.2, 1.5, 1.8, 2.2, 2.7, 3.3, 3.9, 4.7, 5.6, 6.8, 8.2]

Og hvert af disse tal kan jeg gange med 10^x. For ikke at opnå uendeligt
mange tal begrænser jeg mig til 10^-1...10^8. Jeg står altså med 120
forskellige tal og skal finde alle forskellige summer af dem når jeg kan
vælger y af dem.

Jacob



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408928
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste