Bij gebrek hoe ik dit topic moet noemen deze titel bedacht.
Situatie
Ik heb een hele lijst steden met daarbij bepaalde eigenschappen die ze hebben. Deze eigenschappen hebben (afhankelijk hoe interessant deze zijn) een score.
Fictief voorbeeld:
Wat ik wil bereiken
Ik wil dat de gebruiker aan kan geven dat ze een plaats zoeken die aan bepaalde eigenschappen voldoet. Hoe belangrijk ze deze eigenschap vinden wordt aangegeven via een getal (invoer) van 0 - 4 (0 = niet belangrijk, 4 = kan niet zonder). Nu wil ik dat het programma a.d.h.v. deze input een suggestie voorschotelt.
Bijvoorbeeld: De bezoeker wil een bergachtige plaats (4) en natuur is niet belangrijk (0) -> Antwerpen.
Voorbeeld 2: De bezoeker wil een plaats met natuur (3) en bergen zijn niet belangrijk (0) -> Amsterdam.
Voorbeeld 3: De bezoeker wil natuur (3) en bergen (4) -> Kaapstad.
Mijn (onjuiste) oplossing
Ik dacht dat ik dit kon bereiken door de "score van de eigenschap" te vermenigvuldigen met de "belangrijkheids invoer" om daarna een totaalscore per plaats te krijgen.
Dit werkt prima als er gezocht wordt op 1 eigenschap:
Invoer: Bergen 4, natuur 0.
Uitvoer: Antwerpen
Probleem
Het probleem speelt op als er meerdere interesses worden opgegeven.
Invoer: Bergen 4, natuur 4.
Uitvoer: Antwerpen
De uitvoer is Antwerpen omdat deze de hoogste score heeft. Maar dit is niet de uitvoer die ik wil hebben. Ik wil dat het programma met Kaapstad komt omdat deze beter voldoet aan de wensen van de gebruiker.
Ik moet de totaalscore per onderdeel dus kunnen relativeren aan de overige.
De vraag:
Hoe bereken ik a.d.h.v. de eigenschappen welke plaats het meest interessant is.
Situatie
Ik heb een hele lijst steden met daarbij bepaalde eigenschappen die ze hebben. Deze eigenschappen hebben (afhankelijk hoe interessant deze zijn) een score.
Fictief voorbeeld:
| Plaats | Bergachtig | Natuur |
| Kaapstad | 121 | 72 |
| Amsterdam | 1 | 220 |
| Antwerpen | 500 | 7 |
Wat ik wil bereiken
Ik wil dat de gebruiker aan kan geven dat ze een plaats zoeken die aan bepaalde eigenschappen voldoet. Hoe belangrijk ze deze eigenschap vinden wordt aangegeven via een getal (invoer) van 0 - 4 (0 = niet belangrijk, 4 = kan niet zonder). Nu wil ik dat het programma a.d.h.v. deze input een suggestie voorschotelt.
Bijvoorbeeld: De bezoeker wil een bergachtige plaats (4) en natuur is niet belangrijk (0) -> Antwerpen.
Voorbeeld 2: De bezoeker wil een plaats met natuur (3) en bergen zijn niet belangrijk (0) -> Amsterdam.
Voorbeeld 3: De bezoeker wil natuur (3) en bergen (4) -> Kaapstad.
Mijn (onjuiste) oplossing
Ik dacht dat ik dit kon bereiken door de "score van de eigenschap" te vermenigvuldigen met de "belangrijkheids invoer" om daarna een totaalscore per plaats te krijgen.
code:
1
| Formule: ([eigenschapsscore-bergen] * [inputwaarde-bergen]) + ([eigenschapsscore-natuur] * [inputwaarde-natuur]) = totaalscore. |
Dit werkt prima als er gezocht wordt op 1 eigenschap:
Invoer: Bergen 4, natuur 0.
Uitvoer: Antwerpen
| Plaats | Bergachtig | Natuur | Totaalscore |
| Antwerpen | (500 * 4) = 2000 | (7 * 0) = 0 | 2000 |
| Kaapstad | (121 * 4) = 484 | (72 * 0) = 0 | 484 |
| Amsterdam | (1 * 4) = 4 | (220 * 0) = 0 | 4 |
Probleem
Het probleem speelt op als er meerdere interesses worden opgegeven.
Invoer: Bergen 4, natuur 4.
Uitvoer: Antwerpen
| Plaats | Bergachtig | Natuur | Totaalscore |
| Antwerpen | (500 * 4) = 2000 | (7 * 4) = 28 | 2028 |
| Amsterdam | (1 * 4) = 4 | (220 * 4) = 880 | 884 |
| Kaapstad | (121 * 4) = 484 | (72 * 4) = 288 | 772 |
De uitvoer is Antwerpen omdat deze de hoogste score heeft. Maar dit is niet de uitvoer die ik wil hebben. Ik wil dat het programma met Kaapstad komt omdat deze beter voldoet aan de wensen van de gebruiker.
Ik moet de totaalscore per onderdeel dus kunnen relativeren aan de overige.
De vraag:
Hoe bereken ik a.d.h.v. de eigenschappen welke plaats het meest interessant is.
[ Voor 80% gewijzigd door NLAnaconda op 09-12-2014 15:49 ]