Ik ben allereerst geen programmeur en geen wiskunde expert.
Maar heb wel een vraag van een mathematische aard waarvan het antwoord nodig is om hetgeen te bouwen dat ik wil.
Ik heb een filter systeem (ala tweakers pricewatch) gemaakt specifiek voor een bedrijf dat bedrukte producten/relatiegeschenken verkoopt.
Deze kun je hier bezichtigen: *snip* irrelevant en/of spam
In de filter boxes in de bovenstaande site zie je filters en filter attributen die je kunt aanklikken.
Nu is het probleem dat bij bepaalde filter resultaten het minst interessante artikel soms bovenaan staat en het meest interessante onderaan.
HET DOEL is dat elk mogelijk filter resultaat per default gesorteerd word naargelang prioriteiten, dit gebaseerd op attribuut waarden.
Voorbeeld:
Als je in de bovenstaande site in de filter "gestanst handvat" aanklikt, dan krijg je een resultaat van meer dan 100 producten. Daarvan wil ik (bedrijf) dat jij (consument) alle producten met attribuut waarden 2 zijden als eerst te zien krijgt, daarna 30 - 50% etc..
Nu kwam ik op het idee om de prioriteiten aan te duiden door elke attribuut waarde een prioriteitswaarde mee te geven, waarbij 1 het hoogste prioriteit heeft, 2 minder.. etc..
Aan de hand van alle prioriteitswaarden moet dynamisch (aan de hand van code) een output komen met alle mogelijke combinaties. De volgorde van die output bepaalt de prioriteit.
Voorbeeld. Ken ik 2 attributen een prioriteitswaarde toe dan krijg je:
"12,
10,
02,
00"
Waarbij "0" toegekend word aan alle andere attribuut waarden die geen prioriteitswaarden meekrijgen.
Bij 3:
"123,
120,
103,
100,
023,
020,
003,
000"
In ons geval moet de output van de logische expressie er ongeveer zo uit komen te zien:
Onze programmeur komt hier helaas niet uit. Misschien dat jullie kunnen helpen?
Ik heb alleens gegoogled op:
"123, 120, 103, 100, 023, 020, 003, 000"
En las in de resultaten iets over Monad Haskel, heeft dat ermee te maken? Als je dat namelijk googled krijg je artikelen als:
http://stackoverflow.com/...65/combinations-of-a-list
Maar heb wel een vraag van een mathematische aard waarvan het antwoord nodig is om hetgeen te bouwen dat ik wil.
Ik heb een filter systeem (ala tweakers pricewatch) gemaakt specifiek voor een bedrijf dat bedrukte producten/relatiegeschenken verkoopt.
Deze kun je hier bezichtigen: *snip* irrelevant en/of spam
In de filter boxes in de bovenstaande site zie je filters en filter attributen die je kunt aanklikken.
Nu is het probleem dat bij bepaalde filter resultaten het minst interessante artikel soms bovenaan staat en het meest interessante onderaan.
HET DOEL is dat elk mogelijk filter resultaat per default gesorteerd word naargelang prioriteiten, dit gebaseerd op attribuut waarden.
Voorbeeld:
Als je in de bovenstaande site in de filter "gestanst handvat" aanklikt, dan krijg je een resultaat van meer dan 100 producten. Daarvan wil ik (bedrijf) dat jij (consument) alle producten met attribuut waarden 2 zijden als eerst te zien krijgt, daarna 30 - 50% etc..
Nu kwam ik op het idee om de prioriteiten aan te duiden door elke attribuut waarde een prioriteitswaarde mee te geven, waarbij 1 het hoogste prioriteit heeft, 2 minder.. etc..
Aan de hand van alle prioriteitswaarden moet dynamisch (aan de hand van code) een output komen met alle mogelijke combinaties. De volgorde van die output bepaalt de prioriteit.
Voorbeeld. Ken ik 2 attributen een prioriteitswaarde toe dan krijg je:
"12,
10,
02,
00"
Waarbij "0" toegekend word aan alle andere attribuut waarden die geen prioriteitswaarden meekrijgen.
Bij 3:
"123,
120,
103,
100,
023,
020,
003,
000"
In ons geval moet de output van de logische expressie er ongeveer zo uit komen te zien:
Prio | |||||
---|---|---|---|---|---|
delivery | 2 zijden | 30 - 50 | gestanst | 1 | |
delivery | 2 zijden | 31 - 50 | none | 2 | |
delivery | 2 zijden | none | gestanst | 3 | |
delivery | 2 zijden | none | none | 4 | |
delivery | none | 30 - 50 | gestanst | 5 | |
delivery | none | 30 - 50 | none | 6 | |
delivery | none | none | gestanst | 7 | |
delivery | none | none | none | 8 | |
none | 2 zijden | 30 - 50 | gestanst | 9 | |
none | 2 zijden | 31 - 50 | none | 10 | |
none | 2 zijden | none | gestanst | 11 | |
none | 2 zijden | none | none | 12 | |
none | none | 30 - 50 | gestanst | 13 | |
none | none | 30 - 50 | none | 14 | |
none | none | none | gestanst | 15 |
Onze programmeur komt hier helaas niet uit. Misschien dat jullie kunnen helpen?
Ik heb alleens gegoogled op:
"123, 120, 103, 100, 023, 020, 003, 000"
En las in de resultaten iets over Monad Haskel, heeft dat ermee te maken? Als je dat namelijk googled krijg je artikelen als:
http://stackoverflow.com/...65/combinations-of-a-list
[ Voor 1% gewijzigd door RobIII op 27-02-2015 14:40 ]