Hilfe: Ansatz Entscheidungslogik implementieren

eltobs

Grünschnabel
Moinsen!

Ich muss für mein Projekt eine Entscheidungslogik in Java implementieren und bin gerade in der Recherchephase.

Was ich machen will:

Ich möchte ein Plattform programmieren, in der ich Spieler Minispiele anbieten kann. Diese sollen abhängig von der Zeit, die ein Spieler sich für die Spiele nimmt bzw. der Dauer des Spiels selbst, sowie der jeweiligen Favoriten eines Spielers optimal ausgesucht werden. Die Datenbank bzw. XML-Datei mit den jeweiligen Eigenschaften der Spiele kann durchaus bis zu 1000 Spiele und mehr enthalten.

Meine Frage ist nun, wie ich am besten nach einer Klassifizierung der Spiele (z.B. Genre des Spiels und ob das Spiele unterbrochen/fortgesetzt werden darf etc.).

Welchen Ansatz ist eurer Meinung nach am Besten? Und welche APIs sollte ich mir entsprechend genauer anschauen? Ich bin mir nicht sicher, ob IF-Statements zu umständlich sind.

Ich bin bei meiner bisherigen Recherche auf Entscheidungsbäume, Recommender Systeme (Google Prediction API) und Fuzzy Logic gestoßen. Diese dürfen gerne OpenSource sein (ist Google Prediction leider nicht).

Hat jemand einen Tipp für mich?

Peace,

El Tobs :)
 
Moin,

Meine Frage ist nun, wie ich am besten nach einer Klassifizierung der Spiele (z.B. Genre des Spiels und ob das Spiele unterbrochen/fortgesetzt werden darf etc.).

mag daran liegen, weil bei Deiner Frage irgendwie das Entscheidende fehlt, oder ? :D

Welchen Ansatz ist eurer Meinung nach am Besten? Und welche APIs sollte ich mir entsprechend genauer anschauen? Ich bin mir nicht sicher, ob IF-Statements zu umständlich sind.

Auch dies ziemlich unklar ausgedrückt ....
Über welche Ansätze denkst Du denn nach?
Was hat es mit den IF's auf sich ?

Fragen über Fragen :-(
Ein paar Details mehr dürften es schon sein ....

Gruß
Klaus
 
Moin,



mag daran liegen, weil bei Deiner Frage irgendwie das Entscheidende fehlt, oder ? :D



Auch dies ziemlich unklar ausgedrückt ....
Über welche Ansätze denkst Du denn nach?
Was hat es mit den IF's auf sich ?

Fragen über Fragen :-(
Ein paar Details mehr dürften es schon sein ....

Gruß
Klaus

Hey Klaus,

also die entscheidenden Eingangsparameter für mein System sind:

aus Nutzersicht:
- Dauer des Games
- UserSettings, u.a. ein StringArray mit aktivierten Genres und ein boolean ob es fortgesetzt werden soll, also sich derzeit in einem pausierten Zustand befindet

aus Systemsicht:
- Mindest- und Maximaldauer des Games
- ein boolean ob ein Spiel Pausen zulässt
- Meta-Infos über das Game (ID, Name, Author etc.)

Die Liste der Parameter könnte sich noch im Laufe des Projekts erweitern, aber das wichtigste steht schonmal hier.

Mein Ansatz wären einfach if-Statements auf alle Apps anzuwenden und das solange, bis 5 Games (bzw. deren IDs) übrig bleiben. Die if-Statements würden dann bei jeder App prüfen müssen, ob sie sich in den vom User gewünschten Genres befindet usw., allerdings wird dies nicht sehr performant sein. Ich möchte die Ladezeit in dem Fall so gering wie möglich halten.
Deshalb ist meine Frage, ob es nicht sogar einen besseren Ansatz gibt.
Vorallem wird der IF-Ansatz etwas uneleganter und keine Intelligenz besitzen im Bezug auf "Was könnte den Nutzer noch interessieren?" (So stieß ich auf die Google Prediction API).

Ich hoffe, mein Problem ist nun etwas klarer geworden ;-)
 
Hey,

meine ziemlich schlichte Idee währe folgendes:
  • Jedes Spiel sammelt bezogen auf den Spieler um den es geht sotwas wie Match-Points
  • Bestimmte zahl Punkte für jedes Genre das Game und Spieler gleich haben
  • Abzug für jede Minute Differenz zwischen gewünschter Dauer und Dauer des Games
  • Abzug falls Pause nicht möglich obwohl gewollt
  • eventuell noch Punkte falls Spieler den Entwickler (bzw. dessen Games) mag/schon oft gespielt hat, ...

Wie du die einzelnen Kriterien gewichtest, musst du natürlich selbst entscheiden oder durch ausprobieren herausfinden.

Am Ende sortierst du - z.B. mit dem Quick-Sort-Algorithmus - die Games nach "Match-Points" und schlägst dem User die 5 mit den meisten Punkten vor.

Gruß javaDeveloper2011
 
Hey,
danke fuer den Tip. :) Ich habe mich heute auch mit dem Thema Rating auseinander gesetzt. Da gibt es schon ne gute Bandbreite an Methoden, leider basieren viele auf den Erfahrungen anderer Nutzer. Dein Ansatz schliesst das aus und waere auf jeden Fall eine Loesung. In puncto Gewichtung muss ich noch nen bissi Hirnschmalz aufbringen. Ich werd morgen weiter an meinem Konzept feilen :)

Vielleicht kennt ja jemand anderes ein Rating-Verfahren namentlich, dass genau deinen Ansatz verfolgt****
Dann brauch ich nur die entsprechende Library einbinden und spar mir nen bissel Zeit :)
 
Zuletzt bearbeitet:
Zurück