Fuzzy Logic und Java

m0ps

Mitglied
Hi zusammen,
ich bin gerade dabei ein Programm zu erstellen, welches mir gute Matches zu Eingaben liefern soll.
Ich habe ein Personenobjekte. Dieses beinhaltet z.B. Name, Wohnort, Alter, Geschlecht, Hobbys, usw.
Ich möchte nun diese Person mit einer Liste von Personen vergleichen und mir die besten "Übereinstimmungen" liefern lassen.
Z.B. sollen Personen, die nahe der suchenden Person wohnen, die gleichen Hobbys haben und ungefähr gleich alt sind in den Ergebnissen oben stehen.

Ich habe hierbei JFuzzyLogic entdeckt. Nur leider finde ich dazu nur 1-2 Tutorials. Ich weiß auch nicht, ob das wirklich das Richtige ist, um mein Vorhaben zu lösen, da das Tutorial eigentlich nur ein Restaurantbewertungssystem ist, bei welchem man "Punkte" an Service, Qualität usw vergibt und man dann das passendste Trinkgeld erhält.

Wie würdet ihr das umsetzen? Ich möchte keinen 1:1 Vergleich machen ala Hobby z.B. "Tennis == Tennis", sondern auch Möglichkeiten wie Eingabe "Tennis" und es werden auch Personen angezeigt, die Squash spielen.

Vielleicht könnt ihr mir ein paar Tips geben.
Beste Grüße

m0ps
 
Eine ganz simple Idee wäre, intern die Daten mit bestimmten Tags zu verknüpfen - sagen wir mal die Hobbys "Tennis" und "Squash" mit dem Tag "Rückschlagsportart" oder das Alter "22" mit "20 bis 25". Dann könntest du anhand dessen diejenigen Treffer ausspucken, die das gleiche Tag haben. Ähnliche Treffer wären dann z.B. "Ping-Pong" oder "24".
Stelle ich mir aber schwierig umsetzbar vor, wenn die Nutzer des Programms - blöd gesagt - zu viel Freiheit bei der Eingabe haben, da müsstest du wohl vorsortieren und nur bestimmte Hobbys zur Auswahl stellen, damit du die immer zuordnen kannst. Denn wenn jetzt jemand "Munchkin spielen" als Hobby angibt, müsste dein Programm ja von irgendwoher wissen, was das sein soll, um es matchen zu können.

Aber ich hab nicht besonders viel Ahnung von Fuzzy Logic, vielleicht ginge das ja sogar damit.
 
Danke schonma für deine Antwort.
Ja du hast recht, ohne Tags bzw Wortlisten werde ich damit wohl nicht weit kommen. Vielleicht sollte ich auch besser vordefinierte Hobbys angeben.

Ansonsten bin ich offen für weitere Anregungen und Umsetzungsmöglichkeiten. Vor allem mit Fuzzy Logic.
 
Mit Fuzzy-Logik kenne ich mich überhaupt nicht aus.

Ich würde folgendermaßen vorgehen:
Eine Funktion abstand zwischen zwei Hobbys definieren,
und gleicherweise bei allen anderen Eigenschaften.
Der Abstand zwischen zwei Personen ist dann die Summe der Abstände aller ihrer Eigenschaften.
Nun kannst du für eine gegebene Person die übrigen nach Abstand anordnen
und schon hast du die perfekte Partnervermittlung.
 

Zurück
Oben