
Vorwort
Trotzdem bin ich ein Träumer und ein Träumer in meiner Seele, tatsächlich (in der Programmierwelt) ist das Maximum "der Typ aus der Garage", aber nach dem
"Lösen der Nüsse" konnte ich der Idee nicht widerstehen, das MCDM-Projekt als Ganzes und das
Spielzeugprojekt zu zeigen
insbesondere eine Testversion (ich habe etwas Angst vor dem Habraeffekt, wenn es Probleme gibt - wir entschuldigen uns). Ein Link zur Website des Projekts erwartet den Leser am Ende der Veröffentlichung (zusammen mit der Umfrage). Es wird empfohlen, dass Sie eine Tour auf der Website machen und sich im Idealfall mit den wichtigsten Ideen unter dem Schnitt vertraut machen.
Warum Nichtlinearität?
Diese Geschichte begann mit einer Reihe von Veröffentlichungen zum Thema der Bewertung von Objekten mit mehreren Kriterien mit lose gekoppelten (nicht offensichtlich verbundenen) Parametern und der Arbeit mit Experten, die Regeln für die Bewertung der betrachteten Objekte formulieren sollten. Ziemlich schnell wurde klar, dass es unmöglich war, bei der Arbeit mit Experten lineare Bewertungskriterien zu verwenden. Der Mensch denkt nicht additiv. Stellen Sie sich vor, Sie wählen einen Laptop (dieses Beispiel sollte für Habr sehr öffentlich sein) und erwägen eine bestimmte Option (die viele Funktionen vereinfacht): Es handelt sich um einen i5 mit einer Frequenz von 3 GHz, 8 GB RAM und eine Grafikkarte der 10. Serie mit 4 GB Speicher . Angenommen, die verfügbaren Alternativen für den Kauf (mit demselben Budget) lauten wie folgt:
- i5 mit einer Frequenz von 3 GHz, 8 GB RAM und einer Grafikkarte der 10. Serie mit 4 GB Speicher;
- i5 mit einer Frequenz von 3,5 GHz, 4 GB RAM und einer Grafikkarte der 10. Serie mit 4 GB Speicher;
- i5 mit einer Frequenz von 2,5 GHz, 8 GB RAM und einer Grafikkarte der 10. Serie mit 6 GB Speicher;
- i5 mit einer Frequenz von 3,5 GHz, 8 GB RAM und einer Grafikkarte der 10. Serie mit 2 GB Speicher.
Bitte beachten Sie, dass sich in diesem Beispiel alle Parameterwerte linear ändern (das Verringern / Erhöhen des Werts eines Parameters um eine Konstante gegenüber der Referenzversion führt zu einem Erhöhen / Verringern eines anderen Parameters um eine andere Konstante). Aber bedeutet dies, dass Ihre Präferenz unverändert bleibt? Überhaupt nicht! Bei einem Rabatt können Sie immer die am meisten bevorzugte Option für sich selbst angeben, was bedeutet, dass die Bewertung höher ist als die anderer. Setzen wir den Gedanken fort und beweisen wir mit diesem Beispiel, dass das lineare Präferenzkriterium für die Bewertung von Alternativen ebenfalls nicht geeignet ist. Angenommen, dies ist nicht der Fall. Als Beispiel wählen wir einen Laptop für die Arbeit (d. H. Wir erwarten nicht, dass wir spielen, aber für Berechnungen interessieren wir uns für Leistung und RAM). Wir werden eine neue Option einführen: i5 mit einer Frequenz von 3,5 GHz, 16 GB RAM und eine Grafikkarte mit 0 GB Speicher. Wir unterscheiden drei Alternativen (die Nummerierung wird zur Erleichterung der Wahrnehmung beibehalten):
2) i5 mit einer Frequenz von 3,5 GHz, 4 GB RAM und einer Grafikkarte der 10. Serie mit 4 GB Speicher;
4) i5 mit einer Frequenz von 3,5 GHz, 8 GB RAM und einer Grafikkarte der 10. Serie mit 2 GB Speicher;
5) i5 mit einer Frequenz von 3,5 GHz, 16 GB RAM und einer Grafikkarte mit 0 GB Speicher.
Aufgrund unserer Präferenz ist Nr. 5 offensichtlich die beste Alternative. Die Verwendung eines linearen Bewertungskriteriums setzt voraus, dass der Beitrag einer Einheit des Parameterwerts linear mit dem Kriteriumswert zusammenhängt (z. B. führt eine Erhöhung des Parameters um eins zu einer Erhöhung des Kriteriums um eine andere Einheit). In diesem Fall sollte Alternative Nr. 4 um X bedingt schlechter sein, während Alternative Nr. 2 um 2X schlechter sein sollte (wir haben die Grafikkarte nicht berücksichtigt). Aber sollten wir nach der Arbeit nicht zu anspruchsvolle Spiele spielen wollen - welche Option sollten wir wählen? Hier kann ich nicht zustimmen, aber die meisten werden überzeugend Alternative Nr. 4 wählen. Die Sache ist, dass der Experte in seinem Urteil die impliziten Beziehungen des gemeinsamen Beitrags der Parameter zur Qualität der Alternative berücksichtigt. Für unsere Auswahlregel ist daher die gemeinsame Bedeutung der Prozessorfrequenz und der RAM-Größe wichtiger als die gemeinsame Bedeutung der RAM-Größe und der Videospeichermenge.
Bei mehr als 3 Auswahlparametern muss der Experte nicht nur den Einfluss von Paaren, sondern auch von Dreifachparametern usw. bewerten, was nicht nur die Flexibilität einer solchen Sucheinstellung für die bevorzugte Alternative, sondern leider auch die Komplexität dieses Prozesses kennzeichnet für einen Experten (Bildung von KOMPLEXEN REGELN).
Zum Zeitpunkt der Veröffentlichung des Artikels gibt es in unserer Testversion nur grundlegende Funktionen, die auch keine flexible Konfiguration von Auswahlregeln ermöglichen. Bisher ist es (bedingt 1 m) durch den Komplexitätsgrad begrenzt, der in Zukunft als EINFACHE REGELN bezeichnet wird. Es ist erwähnenswert, dass einfache Regeln bereits mehr Komfort bieten als jedes (der bekannten) vorhandenen Verzeichnis. Entweder wissen wir nicht, was wir im Katalog finden möchten, und dann müssen wir buchstäblich im Katalog nach oben und unten blättern (die verwendeten Sortierungen sind traditionell einfach - nach Preis, Neuheit usw.), um nach etwas zu suchen, das uns gefällt, oder wir Wir wissen sehr gut, was wir finden möchten, und verwenden dann Filter = schränken den Suchbereich stark ein, wobei das Risiko besteht, dass interessante Optionen fehlen, die nicht viel über den Umfang der Suche hinausgehen, die aber für uns interessant sein könnten, oder indem wir ein paar nervige Klicks machen. plötzlich erkennen, dass das Verzeichnis nichts tun kann bieten Sie uns an. Letzteres ist etwas einfacher - viele Kataloge zeigen die Anzahl der Optionen beim Anwenden von Filtern.
Wir bieten einen Ansatz, der ausgefeilte Sortier- und Bereichsfilter kombiniert. Für eine Katalogwebsite bedeutet dies, die vorhandene Funktionalität durch ein externes Add-On zu ergänzen, das die Vorlieben der Benutzer berücksichtigt (Bildung von Auswahlregeln, Speicherung und Verwendung erfolgreicher Regeln). In Zukunft ist geplant, die Option "All-in-Box" zu entwickeln, möglicherweise ein DBMS, das auf neuen Prinzipien basiert. Wir werden dies jedoch in diesem Artikel nicht diskutieren.
Von der Einstufung zur Einstufung
Das Auftreten einer Multifaktorsortierung beruht auf der Tatsache, dass die vom Benutzer (Experten) gebildeten Auswahlregeln in eine mathematische nichtlineare Funktion „aufgerollt“ werden können. Dies bedeutet, dass mit Hilfe einer solchen Funktion jedes Element des Katalogs ausgewertet werden kann (jedem Element des Katalogs wird ein Grad der Übereinstimmung mit den Präferenzen des Benutzers zugewiesen). Dies bedeutet einerseits, dass es im Prinzip möglich ist, den gesamten Katalog nach Benutzerpräferenzen zu sortieren (d. H. Damit die ersten Elemente am meisten bevorzugt werden). Dies vereinfacht das Leben des Benutzers erheblich und sollte sich positiv auf das zunehmende Interesse an einer solchen Verzeichnisseite auswirken. Auf der anderen Seite - es verursacht zusätzlichen Aufwand für die Sortierung selbst, erlaubt keine teilweise Auswahl von 10-20-50 und weiteren Elementen pro Seite. Und hier haben wir keine Fragen zum bestehenden DBMS. Dies ist in der Vergangenheit geschehen - es ist erforderlich, die Welle der "stückweisen" Benutzeranforderungen an das DBMS so schnell wie möglich "abzuschlagen" (damit der Benutzer nicht zu lange wartet). Aber lassen Sie uns einen Moment darüber nachdenken: und nicht, weil es so viele dieser Anfragen gibt, dass wir über die vorhandene Schnittstelle nicht finden können, wonach wir suchen? Lässt uns der Wunsch, die Serverseite auszulagern, uns (Benutzer) nicht immer mehr stochern? Wir stellen einen großen Prozentsatz nutzloser Anfragen, aber wir sind schuld daran ... Wir bieten Benutzern die Möglichkeit, komplexe Anfragen zu stellen und ehrlich zu warnen, dass sie warten müssen. Vielleicht passt dies speziell zu Ihnen: weniger Klicks und mehr Sinn = sparen Sie Energie bei der Suche und geben Sie sie für die Analyse von Optionen usw. aus.
Um zu demonstrieren, wie die vorgeschlagene Methode funktioniert, ist ein Eintauchen in die Praxis erforderlich. Die klassischen praktischen Probleme sind: das Problem des Kaufs eines Eigenheims, das Problem der Auswahl eines Autos und einige andere. Sie zeichnen sich durch eine große Anzahl von Alternativen (in der Größenordnung von mehreren Tausend) und eine relativ kleine (normalerweise fünf bis zehn) Anzahl grundlegender, in der allgemeinen Form schwach miteinander verbundener Auswahlparameter aus. In diesem Artikel werden wir uns auf das Problem des Kaufs eines Hauses verlassen.
Es gibt viele Immobilienkataloge, wir haben Mitte 2018 den bekannten Immobilienkatalog verwendet (es gibt keine Gewissheit, dass der Name hier angegeben werden sollte - der Projektlink befindet sich auf der Projektwebsite) und auf dessen Grundlage einen bedingten Katalog von Anzeigen für Wohnungen zum Verkauf (Sekundärmarkt) in St. Petersburg. Hier wäre es möglich, Material darüber zu platzieren, wie der Parser geschrieben wurde, wie sie durch die Katalogseiten in der Maschine „gingen“, sie herunterluden, die Werbedaten herausholten und auf welche Schwierigkeiten sie beim Zusammenstellen des bedingten Katalogs stießen. Unserer Meinung nach ist dieses Material jedoch recht typisch für Habr und vertritt kein besonderes Interesse im Lichte des Artikels. Wir stellen nur fest, dass es nicht einen Monat nach der Bildung des bedingten Verzeichnisses erforderlich war, Bilder aus dem Quellverzeichnis herunterzuladen, da zu diesem Zeitpunkt viele Anzeigen gelöscht wurden (verkauft / entfernt / ...), was bedeutet, dass einige Deklarationen des bedingten Verzeichnisses jetzt ohne Miniaturansicht sind (was überhaupt nicht kritisch ist, aber etwas nervig).
Im trockenen Rückstand
Heute sind wir bereit, eine Alpha-Testversion mit grundlegenden Sortierfunktionen am Beispiel des Problems des Hauskaufs zu zeigen. Es ist erwähnenswert, die Hauptmerkmale der vorgestellten Funktionalität:
- Die Sortierung erfolgt clientseitig (Browser).
- Die Fernbildung der Sortierfunktion erfolgt OHNE Zugriff auf das Verzeichnis. Es sind nur allgemeine Informationen zu den möglichen Wertebereichen der Parameter der sortierten Objekte erforderlich.
- Die Sortierfunktion ist eine anonyme JS-Funktion (der sehr seltene Fall der Bildung aus der Zeichenfolge „on the fly“).
- Das Sortieren des GANZEN Katalogs setzt einen „Durchlauf“ der anonymen Funktion (Abschnitt 3) JEDES Katalogelements voraus (implementiert durch Überladen der integrierten Sortierfunktion).
Eine interaktive Tour auf der Projektwebsite zeigt Ihnen am besten, wie Sie die vorgeschlagene Funktionalität nutzen können.
Sofortige Pläne und Perspektiven
Parallel zur Arbeit an der Alpha-Testversion (dem Problem des Hauskaufs) wurde eine bedingte Basis von Laptops gesammelt. Die Anzahl der möglichen Parameter im Vergleich zu den Basisbeispielen ist nicht in den Charts! Darüber hinaus wurden Probleme (irgendwo erwartet) aufgedeckt. Das erste ist, dass das Vorhandensein einer Vielzahl von Komponenten in Laptops es angemessen macht, eine Verschachtelungsbewertung zu organisieren. Dies liegt an der Tatsache, dass Prozessoren, Grafikkarten und andere kritische Komponenten nur schwer miteinander zu vergleichen sind (was ein separates Problem darstellt), sowie an der Tatsache, dass die Anzahl der Komponentenparameter auf der Ebene der Laptop-Parameter zu groß ist und der Benutzer (Experte) Es wird äußerst schwierig sein, angemessene Auswahlregeln zu erstellen. Das zweite Problem besteht darin, dass eine Reihe von Parametern grundsätzlich numerisch sind (z. B. der Hersteller einer einzelnen Komponente, die darin implementierten Technologien usw., ganz zu schweigen vom Land der Montage und anderen schlecht formalisierten Informationen).
In zukünftigen Veröffentlichungen ist geplant, den Prozess der Erstellung von COMPLEX-Auswahlregeln mit interaktiver Testfunktionalität ausführlicher zu behandeln, eine neue Testversion mit der Bildung von COMPLEX-Regeln zu planen und / oder einen bedingten Katalog von Laptops als kompliziertes Beispiel einzuführen und auch Ihr Feedback bei der weiteren Entwicklung des Projekts zu berücksichtigen. Vielen Dank für Ihre Aufmerksamkeit! PS konstruktive Kritik an der Idee und der Testversion (Demo) des Projekts ist willkommen :)
UPD : Es scheint, dass der Server ziemlich schwach ist. Wenn jemand einen "Verbindungsfehler" erhält, versuchen Sie es bitte etwas später (es ist ratsam, die Seite zu aktualisieren) ...
Referenzen
Projektseite:
mcdm-project.orgVerwandte Veröffentlichungen:
- Pavlov, AN Die Technik der Entscheidungsfindung mit mehreren Kriterien bei der Untersuchung halbstrukturierter Probleme / AN Pavlov, DA Pavlov, AA Pavlov, AA Slin'ko // Tagungsband der 6. Online-Konferenz für Informatik 2017 (CSOC2017) . April 2017 - Springer International Publishing Schweiz 2017, Band 2: Kybernetik- und Mathematikanwendungen in intelligenten Systemen. S.131-140. DOI 10.1007 / 978-3-319-57264-2_13
- Pavlov, A.N. Die kombinierte Methode der multikriteriellen Auswahl von Managemententscheidungen basierend auf Modellen der Wissensrepräsentation und Experimentplanung / A.N. Pavlov, A.A. Pavlov, D.A. Pavlov, A.A. Slinko // “Proceedings of the A.F. Mozhaysky. " - SPb .: VKA ihnen. A. F. Mozhaysky, 2017 .-- Ausgabe. 656. - C. 9-17
- Pavlov AN, Methodik und Technologie der multikriteriellen Analyse der Kritikalität von Fehlern funktionaler Elemente allgemeiner Schiffssysteme / A.N. Pavlov, A.Yu. Kulakov, D.A. Pawlow // Zweite internationale wissenschaftliche und praktische Konferenz "Simulation und integrierte Modellierung von Meerestechnik und Seetransportsystemen" (PCM MTMTS 2013), 3. Juli 2013, St. Petersburg: Tagungsband / OJSC "Zentrum für Schiffbau und Schiffsreparaturtechnologie" - St. Petersburg , 2013, S. 78-85
- Pavlov A.N., Zelentsov V.A. Multikriterielle Analyse des Einflusses einzelner Elemente auf die Leistung eines komplexen Systems // Management Information Systems. - 2010, Nr. 6 (49), S.7-12
- Pavlov A.N., Kombinierte Methode zur multikriteriellen Analyse der Kritikalität von Fehlern von Elementen komplexer Objekte / A.N. Pavlov, V.A. Zelentsov, E.A. Kopytov, // 10. Internationale Konferenz „Zuverlässigkeit und Statistik in Verkehr und Kommunikation“ (RelStat'10), 20. bis 23. Oktober 2010, Riga, Lettland, ISBN 978-9984-818-34-4 - Riga: Verkehr und Telekommunikation Institut, p. 353-360