gambieter schreef op dinsdag 06 november 2012 @ 20:12:
[...]
offtopic:
Iets off-topic, maar dit klopt toch niet helemaal. Bij open access tijdschriften is het juist vaak meer betalen, omdat je het copyright houd en de uitgevers dat niet kunnen uitbuiten/gebruiken. Wij moeten in mijn veld vaak zat ook betalen bij andere journals, page charges etc.
Nu zal het bij wiskunde/computing misschien weer anders liggen, maar de uitspraak is me toch wat te breed. Sterker nog, ik moet formeel zoveel mogelijk open access publiceren maar kan me dat niet veroorloven

Ok, maar volgens mij moet ik het idee gewoon vast leggen zodat ik het als bewijsmateriaal kan gebruiken. Dus een externe internetpagina met datum/tijd zou voldoende moeten zijn lijkt me, of zie ik dat verkeerd?
Hydra schreef op dinsdag 06 november 2012 @ 20:13:
Als je zo arrogant gaat lopen doen omdat de input van een aantal professionals (Pedorus en Oisyn zijn dat zeker en Oisyn is sowieso bijzonder moeilijk op een fout te betrappen) niet overeenkomt met wat je wil horen, heb ik zelf zo iets van zoek het dan gewoon lekker zelf uit.
Er is al genoeg gezegd over je algorithme, ik voeg daaraan toe dat naar mijn mening je hele probleem op een verkeerde aanname gestoeld is. Als je het daar niet mee eens bent prima, als daar een discussie over ontstaand nog meer dan prima, maar ga me niet uitmaken voor een leek.
Ok, maar wat is de fout in jou ogen? Dat E een verkeerde positie heeft gekregen?
Als je naar het voorbeeld kijkt, ben je het dan eens met de positie van A, B, C en D?
D-Raven schreef op dinsdag 06 november 2012 @ 20:18:
[...]
A:
Je site zegt niet zoveel over dit algoritme, mja ok je about pagina. Maar thats it. Als je hier serieus over bent, dan maak je een website welke puur aan dit algoritme geweid is.
B: Een alternatief waarvoor? voor dit algoritme? Ik snap zelf nog steeds niet precies welk probleem je nu oplost. Dus tjah..

Maargoed, zoals je merkt heb ik op technisch vlak er nog niet een diepgaande reactie gegeven, precies om deze reden.
Maar je maakt precies mijn punt, juist omdat het 'lijkt' op een weighted sorting algoritme zorgt ervoor dat er 'makkelijk' kritiek op geleverd kan worden. Dit maakt het des te belangijker dat je goed verwoord wat de verschillen zijn, en waarom deze verschillen belangrijk zijn voor _jou_ probleem.

A. Die website is toch geheel gebaseerd op het algoritme? Vergelijken van 2 video's.
B. Het probleem = Hoe bereken ik een top lijst uit de uitslagen van steeds 2 entiteiten tegen elkaar.
Verder, als het een weighted sort was had ik toch wel verwacht dat ik teminste iets had gevonden toen ik zocht naar de oplossing van dit probleem. En zelfs nu ik erop gegoogled heb, wordt ik er niet echt wijzer op in termen van de oplossing van het probleem.
Hydra schreef op dinsdag 06 november 2012 @ 20:22:
[...]
Een zelf gecreerd probleem. Leuk bedacht, maar het is natuurlijk gewoon niet zo dat je als sporter omdat je een andere sporter een keer verslagen hebt, je dan beter bent. Bij voetbal heb je poules, bij schaak heb je FIDE-rating, bij turnen heb je een jury. Ik ken geen enkele sport die dit systeem hanteert en dat heeft volgens mij een reden.
Dat zal zich uitmiddelen namate de uitslagen varieren. In mijn zoektocht naar "de oplossing" heb ik een artikel gelezen over hoe het Elo rating system gebruikt werd om de uitslagen van verschillende officiele sporten uit te rekenen. Verder als je dezelfde wedstrijden speelt als er in een pool gespeeld worden, zal mijn algoritme dezelfde uitslag geven.
Cloud schreef op dinsdag 06 november 2012 @ 20:24:
[...]
Aangezien weighted sort nu al meermaals voorbijgekomen is, is het misschien verstandig dat algoritme eens goed door te nemen. Zolang je dat niet kent, valt het ook lastig voor jezelf uit te maken of je daadwerkelijk iets nieuws te pakken hebt. Daarnaast zal het een stuk eenvoudiger worden om eventuele kritiek te pareren.
Maar met Deathraven; het belangrijkste ontbreekt m.i. nog op je pagina. Het wáárom? Algoritmes hebben een doel en hoewel ik je voorbeeld wel begrijp snap ik niet wat jouw algoritme hierin nu zo belangrijk maakt. Stel we hebben jouw algoritme niet; wat zou dan de (minder gewenste) uitkomst geweest zijn? Trek eventueel zelf al de vergelijking met bestaande oplossingen.
Ik krijg het idee dat het met sportpoules te maken heeft, maar dat komt misschien door de domeinnaam. Je voorbeeld zelf heeft het over 'voting' en 'movies', wat een geheel andere insteek is en dus geheel andere oplossingen benodigd.
Heb je wel eens ge-googled op: "weighted sort" ? Dat is echt niet te doen... Maargoed, alles wat ik heb gevonden klinkt als iets anders.
Alleen zzattack begon over: topological sort.
(
Wikipedia: Topological sorting gelezen...)
Het lijkt er inderdaad op, deze taktiek heb ik zelf eerst ook toegepast en kwam er ook achter dat de volgorde van de telling uitmaakte voor het resultaat. Toen heb ik besloten om het maar compleet anders aan te pakken, en zijn de bedenkers door gegaan door de volgorde van berekeningen dusdanig aan te passen dat het resultaat klopte. Ik hoop dat het klopt, en of de mijne dan klopt vergeleken daarmee

.oisyn schreef op dinsdag 06 november 2012 @ 23:16:
[...]
Dat kan best, jij hebt waarschijnlijk meer achtergrondkennis in je hoofd dan je hier tentoonstelt en waar wij het mee moeten doen. Maar wat ik uit je posts gedestilleerd hebt lijkt niet te kloppen. Dat wil niet zeggen dat het ook daadwerkelijk niet klopt, eerder dat het probleem dat je op wilt lossen dus niet helemaal goed overkomt.
Maar:
[...]
en
[...]
Tegenspraak van de eeuw. Noem je dit een fatsoenlijke discussie? Alsjeblieft zeg

. Ik tik 1 reactie en dan krijg ik zo'n opmerking over me heen. Ik weet niet wat jouw definitie van fatsoen is, maar het past iig niet bij de mijne.
[...]
Dan zullen ze een hoop geduld hebben gehad, als je ze op dezelfde manier hebt bejegend als de mensen hier.
.oisyn schreef op dinsdag 06 november 2012 @ 23:22:
Maar ook aan mijn fatsoen komt weleens een einde.
[...]
Oh please

. Meneertje bedenkt ook een keertje een algoritme (newsflash: dat is wat developers doen in het dagelijkse leven) en denkt meteen dat hij the next best thing since sliced bread heeft uitgevonden. Je gebrek aan basale kennis wat betreft algoritmiek spreekt boekdelen. Lees de eerste alinea van mijn vorige post nog eens door en leer te beseffen dat als mensen het eens een keertje niet met je eens zijn op het grote boze internet dat niet betekent dat er een heksenjacht gaande is en dat je je koste wat kost moet verdedigen door aanvallend uit de hoek te komen, want je hebt geen idee wie je voor je hebt.
.oisyn schreef op dinsdag 06 november 2012 @ 15:47:
[...]
Kwadratisch eerder, logaritmisch (O(log n)) is vrij efficient.
[...]
Euhm, dát is pas kort door de bocht. Als VVV 1x toevallig wint van Ajax maar verder alles verliest terwijl Ajax verder alles wint, vind je dan dat VVV maar landskampioen moet worden?
Sorry, ik had jou niet bij die ene opmerking moeten betrekken denk ik.
dcm360 schreef op dinsdag 06 november 2012 @ 23:47:
[...]
Wat zij doen, is jouw voorbeeld uitbreiden door er een movie F aan toe te voegen, die bepaalde eigenschappen heeft (zoals beter zijn dan movie D). Vervolgens passen ze er de regels op toe die er op die pagina vermeld zijn. Vervolgens geven ze aan wat dan de ranking is, en geven ze aan waarom zij vinden dat het een wat minder handige manier van bepalen van een rang is. Ook wordt er aangegeven wat mogelijk de reden is waarom dit optreedt.
Ik ben het met hun eens dat jouw algoritme in bepaalde gevallen een opmerkelijke rangorde produceert. Ik hoop dat je het niet erg vindt dat ik kan onderbouwen waarom ik een mening met anderen deel.
A wint van B
en B wint van C
score:
#1 A
#2 B
#3 C
dan wint D van B:
Wat is de nieuwe score dan op dat moment?
Ik zeg:
#1 A
#1 D
#2 B
#3 C
Waarom? Omdat A en D nog niet hebben gespeeld tegen elkaar kan er nog niets gezegt worden over hun positie ten opzichte van elkaar, dus: allebij de eerste plaats.
De volgende dag wint A van C. Omdat A ook al heeft gewonnen tegen B, en D daarop dus geen punt voorstaat, wordt de score:
#1 A
#2 D
#3 B
#4 C
Moet ik nog verder gaan? (niet sarcastisch bedoeld)
Gomez12 schreef op woensdag 07 november 2012 @ 00:19:
[...]
Hoe haal je het in je hoofd om zomaar het voorbeeld uit te breiden? Een algoritme wat ook op andere data dan de gegeven data kan werken daar heeft de TS het toch helemaal niet over...
Wat ik trouwens wel verbazingwekkend vind is dat TS volgens eigen zeggen :
[...]
En dan iedereen afbranden die mogelijk jaren ervaring heeft met algoritmes etc.
Schijnbaar is het niet al te ingewikkelde materie (anders voldoet een paar weken erin gezeten hebben niet)
Dus...
P.O. Box schreef op woensdag 07 november 2012 @ 00:27:
ik denk dat het verder niet zoveel nut heeft de TS af te branden.. ook al voel je je zelf door de TS afgebrand...
ik hoop dat het hem duidelijk is (het Ajax - VVV voorbeeld was daarvoor het beste voorbeeld) dat zijn algoritme niet zo heel speciaal is... dat neemt niet weg dat zijn algoritme in zijn probleem-casus prima kan functioneren... als je de regels voor het klassement definieert zoals het algoritme functioneert, dan voldoet het algoritme
om terug te komen op de originele vraag: het algoritme lijkt mij niet bijzonder genoeg om te patenteren... los van het feit dat als je het wilt patenteren er wel wat meer documentatie bij komt kijken dan het document dat je nu hebt... verder staan er in dit topic genoeg ideeen om je idee "vast te leggen"... van officieel tot niet officieel (voorbeeld van dat laatste is dit topic

)...
Eerste alinia: "Niet zo speciaal" thanks...
Tweede alinia: Ja dat is nu inderdaad de oplossing geworden. Dank je wel tweakers.net.
Gomez12 schreef op woensdag 07 november 2012 @ 00:49:
[...]
De truc met de meeste klassementen is dat die eerst gedefinieerd worden inclusief regels en dat daarna het algoritme erbij gemaakt wordt, op die manier kan je de regels nog aanpassen mocht er toch iets fout gaan in de loop der jaren etc.
Maar sowieso is het in sporten / klassementen etc niet aan te raden om een ingewikkeld algoritme te hebben, mensen willen het zelf ook nog kunnen begrijpen buiten de computer om.
En algemeen wil je een algoritme zo simpel mogelijk hebben want als het algoritme de fout ingaat moet je dit wel kunnen constateren.
Als het ajax-vvv voorbeeld (of het f voorbeeld) op een overgang van 5 naar 6 elementen al niet gesnapt wordt door de maker van het algoritme dan ben ik heel erg bang wat er van de uitkomst overblijft als je er 10.000 variabelen instopt.
Ik zou als voorbereiding op een verder stap eerst eens 100 voorbeeld cases laten uitschrijven door een derde (met dus ietwat meer dan 5 inputs) en dan kijken of het overeenkomt met je eigen algoritme.
Niet zelf uitschrijven want dan ga je enkel de regels van jouw algoritme toepassen, maar iemand anders de regels van het spel uitleggen en die de cases uit laten schrijven (dus zonder kennis van jouw algoritme)
Ik sla deze even over als je het niet erg vind.
Na de adviezen om het open en bloot op internet te zetten en het verlies in interesse om nog iets te delen met iemand heb ik besloten om het hier lekker bij te laten.
Zoijar schreef op woensdag 07 november 2012 @ 01:33:
[...]
*grin* tsja, dat denk ik altijd al bij voorbaat als er weer een topic wordt geopend waar meteen over patenten wordt begonnen...
Aan de TS: als je idee echt patentwaardig zou zijn, dan moet je het toch minstens in artikelvorm kunnen uitschrijven imho. Dat betekent:
- Welk probleem los je op?
- Waarom is dat probleem het oplossen waard?
- Wat is de state-of-the-art om dit probleem op te lossen, hoe verschil jouw oplossing hier in essentie van en wat is daar beter/slechter aan?
- Wat doe je *exact*, met welke input en output?
- Wat is de complexiteit, hoe draait het op real-world data sets, hoe verschillen de antwoorden van jouw algoritme met state-of-the-art op dit gebied op dezelfde data.
- Wat zijn de afwegingen die je hebt gemaakt om het zo te doen en niet net iets anders?
Als je daar een sterk verhaal van kan maken dat peer-review door zou komen, dan heb je wellicht iets...
Ik wil geen patent aanvragen, ik wil er geen eens geld op verdienen, alleen andere mensen ermee helpen en voorkomen dat andere mensen hiervoor een stokje steken. Ik ben niet zo'n schrijver en de enige beschrijving (die exact beschrijft hoe je het algoritme moet gebruiken BTW) staat al op internet.
Of dat algoritme nou klopt of niet.
Kijk, dank je wel, goede nieuwe input
Wat cool zeg, dit is precies dezelfde denkwijze, maar hij gaat uit van "the strongest path" en ik middel in driehoeken.
Ik ga binnenkort eens kijken naar de uitkomsten van deze 3 algoritmes (topological sort en Schulze method).
TheNephilim schreef op woensdag 07 november 2012 @ 10:21:
Als ik je voorbeeld zo zie, lijkt het met sterk dat jij de eerste bent die het uitvind.
Ik denk dat dit stukje code al in meer programma's/websites zit dan je denkt. Er zijn immers tal van online cups en wedstrijden. Toen ik vroeger America's Army speelde had je TWL, die moeten toch ook op een dergelijke manier de standen hebben berekend.
En hoe weet je dat deze rankings geklopt hebben?
Voordat ik hieraan begon wist ik ook dat het al bestond, ik wilde namelijk een variant maken van een site die dat algoritme al gebruikte. Maar in mijn zoektocht naar hoe het opgelost was kwam ik erachter dat de resultaten tot nu toe net als een MP3 bestand waren. Haast het origineel, maar toch echt wel anders als je goed ging kijken.
De grote vraag blijft inderdaad, heb ik nou wel of niet het juiste gevonden. En daarin vind ik van wel.
Hydra schreef op woensdag 07 november 2012 @ 10:26:
De meeste van dat soort systemen werken met een ranking/puntensysteem of met gewoon je win/loss ratio. Een puntensysteem is er meestal op gebaseerd dat je er punten bijkrijgt als je potjes wint, en verliest als je potjes verliest. Hoeveel je wint is dan vaak afhankelijk van of die persoon hoger dan jou in de ranking staat of niet. Als je wint van iemand die hoger staat win je veel punten, als je verliest van iemand die hoger staat dan verlies je veel minder punten.
Dat is aan gebruikers tenminste ook uit te leggen.
Dat systeem werkt niet. Zoals ze het bij "the social network" uitleggen. Dat was versie 2 van mij, om het dan maar te proberen om zeker te weten of het klopte of niet. (ofwel, of ik veel moeilijker zat te denken dan nodig) Maar het was niet de oplossing helaas.
pedorus schreef op woensdag 07 november 2012 @ 20:10:
Woei, wat een commotie hier gisteren (
en wat weinig inhoudelijke posts)
Geld verdienen is op dit gebied natuurlijk vrij makkelijk. Het hangt wel een beetje van het doel van een rating af. Een handig doel is dat je de rating wil gebruiken om de kans te voorspellen waarmee team A van team B wint (op neutrale gronden zou dan het team met de hogere rating vaker moeten winnen). En als je sportuitslagen goed kunt voorspellen, kun je dit zeer makkelijk in geld om zetten door (automatisch) te wedden op de uitslagen.
Het mooie hiervan is ook dat dit soort ratings nog weinig onderzocht zijn, en er genoeg data is aan sportuitslagen om de boel te testen. De genoemde algoritmes hier zijn niet exact gelijk aan wat TS doet, dus wie weet presteert het wel goed, of is het bruikbaar als onderdeel van een completere datamining-tool (of met aanpassingen, op dit moment is het gewicht van 'related' vrij hoog ten opzichte van directe uitslagen). "weighted topological sort" bijvoorbeeld is het niet, en ik weet niet eens welke variant wordt bedoelt, die in
Exploiting Data Mining Techniques for Broadcasting Data in Mobile Computing Environments (helaas library nodig) ?
Een begrijpelijk algoritme kan trouwens ook juist in het nadeel werken. Bij het elo-systeem is het bijvoorbeeld niet aan te raden om als hoger geplaatste speler tegen iemand met een veel lagere ranking te spelen. Dat bevorderd spelen dan weer niet, wat veelal niet de bedoeling kan zijn.

Dank je wel voor deze post!
Dit bevestigd alles wat ik hierboven heb uitgeschreven.
Dat automatisch wedden op wedstrijden is natuurlijk wel tricky, aangezien je de toekomst helaas gewoon niet kan voorspellen.
Wat wel grappig is, is dat ik onbewust het ELO algoritme heb gecombineerd met het eerder genoemde Schulze method. Bij ELO gebruiken ze een correctie getal voor alle punten die bij de rank opgeteld worden. En dit doe ik door het gemiddelde te nemen per indirecte relatie.
Monga schreef op woensdag 07 november 2012 @ 20:16:
Kijk voor de grap eens op
The fairest. Precies hetzelfde idee als jouw site: het ranken van items (in dit geval foto's, in jouw geval video's van kitesurfers).
Deze site bestaat echter al een aantal jaar (in ieder geval sinds 2006) en wordt al enige tijd niet meer onderhouden. De link met de uitleg over het gebruikte algoritme is jammer genoeg niet meer valid, maar lost wel hetzelfde probleem op: ranking bepalen door items in paren tegen elkaar af te wegen.
PS de 39e foto uit de Top Images heb ik ooit geplaatst
Grappig dat is inderdaad hetzelfde idee, kan zo snel de beschrijving niet vinden helaas.
mooie foto hoor, doet me denken aan een oude windows achtergrond Volgens mij wel, maar de uitleg van het algoritme doet met denken aan versie 1 van mij probeersel om dit probleem op te lossen. Dus @Monga misschien is jou foto wel veel hoger dan de 39ste plaats
of lager
lauwsa schreef op donderdag 08 november 2012 @ 09:32:
Ik was even naar de "voorspelling" aan het kijken (er bestaan meerdere factoren waardoor iemand beter kan score dan een andere partij, daarom noem ik het maar een voorspelling die van een weinig informatie toch iets groot kan concluderen. Bijvoorbeeld: wie weet is er op een dag veel reclame geweest over film A en dat daardoor mensen daar op gestemd hebben).
Mijn eerste blik zegt dat je in dit voorbeeld niet echt een goede proef gedaan hebt. Waarom laat je E niet tegen de overige partijen spelen? Of heeft dit een reden. ik mist namelijk de probleem omschrijving.
Zoals ik hier boven aangaf, je mist informatie er omheen. Deze methode kan misschien in sommige situaties nuttig zijn, maar bij “kansspel” absolute niet. Dus waar wil je dit op gaan toepassen?
Ik neem niet aan dat je dit daadwerkelijke wilt gebruiken op stem resultaten in de entertainment industrie. Daar valt denk ik niet echt een touw aan vast te knopen als je niet over genoeg informatie beschikt, doe je dat wel dan ben ik er vrij zeker van dat er makkelijkere methodes zijn die een winnaar kunnen selecteren.
Edit:
Na even verder gekeken te hebben krijg ik het gevoeld (zoals eerder genoemd) alles gebaseerd is op: "Wint een partij van elke andere partij, behalve van 1 partij. Dan is die ene partij numero 1". Alles kan een nut hebben, dus kan je 1 goed voorbeeld geven waarin je dit in kan gebruiken?
De reden dat ik dit voorbeeld gebruik is omdat het ongelovelijk lastig is om aan de hand van dat voorbeeld een kloppende score te krijgen. Zeker omdat de uitkomst een dubbele 2e plek geeft.
Daarnaast moet het systeem om kunnen gaan met missende informatie, wat in dit voorbeeld gesimuleerd wordt.