Was ist der Unterschied zwischen zielbasierten und Utility-basierten Agenten? Bitte geben Sie ein Beispiel aus der Praxis.
Was ist der Unterschied zwischen zielbasierten und Utility-basierten Agenten? Bitte geben Sie ein Beispiel aus der Praxis.
Antworten:
Der Nutzen ist für die künstliche Intelligenz von grundlegender Bedeutung, da hiermit die Leistung eines Agenten in Bezug auf ein Problem bewertet wird. Zur Unterscheidung zwischen dem Konzept des wirtschaftlichen Nutzens und nutzungsbasierten Rechenfunktionen wird der Begriff "Leistungsmaß" verwendet.
Die einfachste Möglichkeit, zwischen einem zielbasierten Agenten und einem auf Dienstprogrammen basierenden Agenten zu unterscheiden, besteht darin, dass ein Ziel spezifisch definiert wird, wobei die Maximierung des Nutzens allgemein ist. (Die Maximierung des Nutzens ist selbst eine Form des Ziels, jedoch verallgemeinert und nicht spezifisch.)
Ein zielbasierter Navigationsagent hat die Aufgabe, von Punkt A nach Punkt B zu gelangen. Wenn der Agent erfolgreich ist, wurde das Ziel erreicht.
Ein auf Versorgungsunternehmen basierender Navigationsagent könnte versuchen, in kürzester Zeit mit minimalem Kraftstoffverbrauch oder beidem von Punkt A nach Punkt B zu gelangen.
Im obigen Beispiel ist der Dienstprogrammagent ebenfalls zielbasiert. Wenn das Leistungsmaß für den Zielagenten jedoch binär ist [erfolgreich / fehlgeschlagen], kann der Dienstprogrammagent reelle Zahlen verwenden und die Leistung nach Grad messen. Der Utility Agent ermöglicht eine detailliertere Auswertung.
Als Beispiel für einen nicht zielbasierten Utility-Agenten betrachten wir eine Form eines Partisanen-Sudoku, in dem Spieler durch Platzierung gewichteter Ganzzahlen um die Kontrolle von Regionen auf dem Spielbrett konkurrieren.
In einem Spiel mit 9 Regionen versucht der zielbasierte Agent, am Ende des Spiels eine bestimmte Anzahl von Regionen zu kontrollieren . Wenn der Agent konservativ ist, kann das Ziel 5 Regionen sein. Wenn der Agent hyperaggressiv ist, kann das Ziel 9 Regionen sein. Wenn der Agent bei der Bewertung der Umgebung (Spielbrett) die gewünschte Anzahl von Regionen dominiert, kann er sich für eine Konsolidierung (Verstärkung) entscheiden. Wenn der Agent die gewünschte Anzahl von Regionen nicht dominiert, kann er sich für eine Erweiterung (Angriff) entscheiden.
Die obige Strategie kann effektiv sein, ist jedoch durch die Spezifität des Ziels begrenzt. Ein hyperaggressives Tor würde gut gegen einen schwachen Gegner funktionieren, aber gegen einen starken Gegner könnte es sich als katastrophal erweisen. Wenn der Agent hochentwickelt ist und die Leistung schlecht ist, kann er sein Ziel ändern, indem er zu einer "Schildkrötenstrategie" wechselt und versucht, weniger Regionen zu kontrollieren. Da das neue Ziel jedoch immer noch spezifisch ist, kann der Agent Möglichkeiten zur Verbesserung verpassen Endstatus jenseits des angepassten Ziels.
Der auf Dienstprogrammen basierende Agent kann sich dem Spiel ohne ein bestimmtes Ziel nähern, das über die Verbesserung seines Status hinausgeht. Anstatt zu versuchen, eine festgelegte Anzahl von Regionen zu steuern , bewertet der Utility-Agent, ob eine bestimmte Auswahl ihren Status verbessert oder verschlechtert. ("Beherrsche ich mehr oder weniger Regionen, wenn ich diese Position einnehme?") Der Versorger kann zwischen verschiedenen vorteilhaften Entscheidungen unterscheiden ("welche Wahl maximiert meinen erwarteten Nutzen?") Und, wenn kein Nutzen erzielt werden kann, zwischen den verschiedenen unterscheiden Reihe von Entscheidungen mit dem geringsten Nachteil ("Unter den schlechten Entscheidungen, welche ist die am wenigsten schlechte Wahl?")
In diesem Beispiel muss der Utility-Agent nicht einmal die Siegbedingung verstehen (Kontrolle der mehr Regionen als der Gegner am Ende des Spiels). Stattdessen versucht der Utility-Agent lediglich, die Anzahl der kontrollierten Regionen über die zu maximieren Spielverlauf, der zum Sieg führt, wenn der Agent optimalere Entscheidungen trifft als der Gegner.
Sowohl zielbasierte als auch Utility-basierte Agenten haben Ziele. Ziele zu haben ist jedoch nicht effektiv (oder effizient) genug, da ein zielbasierter Agent möglicherweise mehrere Aktionen hat, die zu den Zielen führen können, aber nicht alle diese Aktionen sind gleichermaßen effektiv. Daher muss ein Agent die effektivste Aktion ausführen. Und dies wird von einem Dienstprogramm-basierten Agenten durchgeführt.
Für einen Agenten, der die Utility-Funktion aufweist, wird jedoch jeder Status nach jeder Aktion abgebildet, die ausgeführt oder effizient und effektiv ausgeführt wird.
Weitere Informationen zu intelligenten Agenten finden Sie im Webartikel Introduction to Intelligent Agents (2005) von Frederick Mills und Robert Stufflebeam.