Reaktiv planering
Inom artificiell intelligens betecknar reaktiv planering en grupp tekniker för handlingsval av autonoma agenter . Dessa tekniker skiljer sig från klassisk planering i två aspekter. För det första fungerar de i rätt tid och kan därför hantera mycket dynamiska och oförutsägbara miljöer . För det andra beräknar de bara en nästa åtgärd i varje ögonblick, baserat på det aktuella sammanhanget. Reaktiva planerare utnyttjar ofta (men inte alltid) reaktiva planer , som är lagrade strukturer som beskriver agentens prioriteringar och beteende.
Även om termen reaktiv planering går tillbaka till åtminstone 1988, har termen " reaktiv " nu blivit en pejorativ [ enligt vem? ] används som en antonym för proaktiv . Eftersom nästan alla agenter som använder reaktiv planering är proaktiva, har vissa forskare börjat hänvisa till reaktiv planering som dynamisk planering .
Reaktiv planrepresentation
Det finns flera sätt att representera en reaktiv plan. Alla kräver en grundläggande representativ enhet och ett sätt att sammansätta dessa enheter till planer.
Regler för tillståndsåtgärder (produktioner)
En villkorsåtgärdsregel, eller if-then-regel, är en regel i formen: if condition then action . Dessa regler kallas produktioner . Innebörden av regeln är följande: om villkoret gäller, utför åtgärden. Åtgärden kan vara antingen extern (t.ex. plocka upp något och flytta det), eller intern (t.ex. skriv ett faktum i det interna minnet eller utvärdera en ny uppsättning regler). Villkoren är normalt booleska och åtgärden kan antingen utföras eller inte.
Produktionsregler kan vara organiserade i relativt platta strukturer, men är oftare organiserade i en hierarki av något slag. Subsumtionsarkitektur består till exempel av lager av sammankopplade beteenden , var och en i själva verket en finita tillståndsmaskin som agerar som svar på en lämplig ingång. Dessa lager organiseras sedan i en enkel stack, där högre lager ingår i målen för de lägre. Andra system kan använda träd eller kan inkludera speciella mekanismer för att ändra vilket mål/regelundergrupp som för närvarande är viktigast. Platta strukturer är relativt lätta att bygga, men tillåter endast beskrivning av enkelt beteende, eller kräver oerhört komplicerade förhållanden för att kompensera för den bristande strukturen.
En viktig del av alla distribuerade åtgärdsvalalgoritmer är en konfliktlösningsmekanism. Detta är en mekanism för att lösa konflikter mellan föreslagna åtgärder när mer än en regels villkor gäller i ett givet ögonblick. Konflikten kan lösas till exempel genom
- att i förväg tilldela reglerna fasta prioriteringar,
- tilldela inställningar (t.ex. i Soar- arkitektur),
- lära sig relativa verktyg mellan regler (t.ex. i ACT-R ),
- utnyttja en form av planering .
Expertsystem använder ofta andra enklare heuristiker som t.ex. nyaktighet för att välja regler, men det är svårt att garantera gott beteende i ett stort system med enkla tillvägagångssätt.
Konfliktlösning är endast nödvändig för regler som vill vidta ömsesidigt uteslutande åtgärder (jfr Blumberg 1996).
Vissa begränsningar av denna typ av reaktiv planering finns i Brom (2005).
Finita tillståndsmaskiner
Finita tillståndsmaskin (FSM) är en modell för ett systems beteende. FSM används i stor utsträckning inom datavetenskap. Modellering av agenters beteende är bara en av deras möjliga tillämpningar. En typisk FSM, när den används för att beskriva beteende hos en agent, består av en uppsättning tillstånd och övergångar mellan dessa tillstånd. Övergångarna är egentligen villkorsåtgärdsregler. I varje ögonblick är bara ett tillstånd av FSM aktivt, och dess övergångar utvärderas. Om en övergång görs aktiveras ett annat tillstånd. Det betyder att i allmänhet övergångar är reglerna i följande form: if condition then activate-new-state . Men övergångar kan också kopplas till "jag"-tillståndet i vissa system, för att tillåta exekvering av övergångsåtgärder utan att faktiskt ändra tillståndet.
Det finns två sätt att producera beteende av en FSM. De beror på vad som förknippas med tillstånden av en designer --- de kan vara antingen "akter" eller skript. En "handling" är en atomär handling som bör utföras av agenten om dess FSM är det givna tillståndet. Denna åtgärd utförs i varje tidssteg då. Men oftare är det senare fallet. Här är varje tillstånd associerat med ett skript, som beskriver en sekvens av åtgärder som agenten måste utföra om dess FSM är i ett givet tillstånd. Om en övergång aktiverar ett nytt tillstånd avbryts det tidigare skriptet helt enkelt och det nya startas.
Om ett skript är mer komplicerat kan det brytas ner till flera skript och en hierarkisk FSM kan utnyttjas. I en sådan automat kan varje tillstånd innehålla undertillstånd. Endast tillstånden på atomnivå är förknippade med ett manus (vilket inte är komplicerat) eller en atomär handling.
Beräkningsmässigt är hierarkiska FSM:er likvärdiga med FSM:er. Det betyder att varje hierarkisk FSM kan konverteras till en klassisk FSM. Men hierarkiska tillvägagångssätt underlättar design bättre. Se tidningen från Damian Isla (2005) för ett exempel på ASM för datorspelsrobotar, som använder hierarkiska FSM:er.
Luddiga närmar sig
Både om-då-regler och FSM:er kan kombineras med fuzzy logic . Villkoren, tillstånden och åtgärderna är inte mer booleska respektive "ja/nej" utan är ungefärliga och smidiga. Följaktligen kommer det resulterande beteendet att övergå smidigare, särskilt i fallet med övergångar mellan två uppgifter. Utvärderingen av de luddiga förhållandena är dock mycket långsammare än utvärderingen av deras skarpa motsvarigheter.
Se arkitekturen hos Alex Champandard .
Connectionists närmar sig
Reaktiva planer kan också uttryckas av anslutningsnätverk som artificiella neurala nätverk eller fritt flödeshierarkier. Den grundläggande representationsenheten är en enhet med flera ingångslänkar som matar enheten med "en abstrakt aktivitet" och utgående länkar som sprider aktiviteten till följande enheter. Varje enhet fungerar själv som aktivitetsgivare. Typiskt är enheterna anslutna i en skiktad struktur.
Positiva med kopplingsnätverk är för det första att det resulterande beteendet är smidigare än beteende som produceras av skarpa om-då-regler och FSM, för det andra är nätverken ofta adaptiva och för det tredje kan hämningsmekanismen användas och följaktligen kan beteendet även beskrivet proskriptivt (med hjälp av regler kan man beskriva beteende endast preskriptivt). Metoderna har dock också flera brister. För det första, för en designer är det mycket mer komplicerat att beskriva beteende av ett nätverk som jämför med om-då-regler. För det andra kan endast relativt enkelt beteende beskrivas, speciellt om adaptiva egenskaper ska utnyttjas.
Reaktiva planeringsalgoritmer
En typisk reaktiv planeringsalgoritm utvärderar bara om-då-regler eller beräknar tillståndet för ett anslutningsnätverk. Vissa algoritmer har dock speciella funktioner.
- Återutvärdering : med en korrekt logisk representation (som endast är lämplig för skarpa regler), behöver reglerna inte omvärderas vid varje tidssteg. Istället kan en form av en cache som lagrar utvärderingen från föregående steg användas.
- Skriptspråk: Ibland är reglerna eller FSM:erna direkt primitiva för en arkitektur (t.ex. i Soar ). Men oftare är reaktiva planer programmerade i ett skriptspråk , där reglerna bara är en av primitiverna (som i JAM eller ABL).
Styrning
Styrning är en speciell reaktiv teknik som används vid navigering av agenter. Den enklaste formen av reaktiv styrning används i Braitenberg-fordon , som mappar sensoringångar direkt till effektorutgångar och kan följa eller undvika. Mer komplexa system är baserade på en överlagring av attraktionskrafter eller frånstötande krafter som påverkar agenten. Den här typen av styrning är baserad på det ursprungliga verket om kroppar av Craig Reynolds. Med hjälp av styrning kan man uppnå en enkel form av:
- mot en målnavigering
- beteende som undviker hinder
- en vägg som följer beteende
- fienden närmar sig
- undvikande av rovdjur
- publikens beteende
Fördelen med styrning är att den är beräkningsmässigt mycket effektiv. I datorspel kan hundratals soldater drivas av denna teknik. Vid mer komplicerad terräng (t.ex. en byggnad) måste styrningen dock kombineras med sökväg (som t.ex. i Milani [1] ), vilket är en form av planering .
Se även
- Blumberg, B.: Gamla knep, nya hundar: etologi och interaktiva varelser . Doktorsavhandling, Massachusetts Institute of Technology (1996).
- Brom, C.: Hierarkisk reaktiv planering: Var går dess gräns? I: Proceedings of MNAS workshop. Edinburgh, Skottland (2005)
- Bryson, J.: Intelligence by Design: Principles of Modularity and Coordination for Engineering Complex Adaptive Agents . Doktorsavhandling, Massachusetts Institute of Technology (2001)
- Champandard, AJ: AI-spelutveckling: Syntetiska varelser med lärande och reaktiva beteenden . New Riders, USA (2003)
- Grand, S., Cliff, D., Malhotra, A.: Creatures: Artificiellt liv autonoma mjukvaruagenter för hemunderhållning . I: Johnson, WL (red.): Proceedings of the First International Conference on Autonomous Agents. ACM press (1997) 22-29
- Huber, MJ: JAM: En BDI-teoretisk mobilagentarkitektur . I: Proceedings of the Third International Conference on Autonomous Agents (Agents'99). Seattle (1999) 236-243
- Isla, D.: Hantering av komplexitet i Halo 2 . I: Gamastura online, 03/11 (2005)
- Milani, A., Poggioni, V., Planering i reaktiv miljö . I Computational Intelligence, 23(4), 439–463, Blackwell-Wiley, (2005) [2]
- Reynolds, CW Flockar, besättningar och skolor: en distribuerad beteendemodell . I: Computer Graphics, 21(4) (SIGGRAPH '87 Conference Proceedings) (1987) 25-34.
- de Sevin, E. Thalmann, D.: En motiverande modell av handlingsval för virtuella människor . I: Computer Graphics International (CGI), IEEE Computer SocietyPress, New York (2005)
- Softimage/Beteendeprodukt . Avid Technology Inc.
- Tyrrell, T.: Computational Mechanisms for Action Selection . Ph.D. Avhandling. Centre for Cognitive Science, University of Edinburgh (1993)
- van Waveren, JMP: The Quake III Arena Bot. Master uppsats. Fakulteten ITS, tekniska universitetet i Delft (2001)
- Wooldridge, M. En introduktion till MultiAgent-system . John Wiley & Sons (2009)
- Pogamut2 . Plattform för snabb agentprototyping i Unreal Tournament 2004 – med POSH – reaktiv planerare designad och utvecklad av JJ Bryson.
- [3] . Wortham, RH, Gaudl, SE & Bryson, JJ, Instinct: A Biologically Inspired Reactive Planner for Intelligent Embedded Systems, In: Cognitive Systems Research. (2018)
externa länkar
- Creatures , en implementering av reaktiv planering av Grand et al.