• Like
  • Save
Game computing: tehnici AI
Upcoming SlideShare
Loading in...5
×
 

Game computing: tehnici AI

on

  • 1,509 views

O introducere in proiectarea jocurilor pe calculator (game computing), prezentare in cadrul cursului Interactiune om-calculator, master, Facultatea de Informatica, Alexandru Ioan Cuza din Iasi.

O introducere in proiectarea jocurilor pe calculator (game computing), prezentare in cadrul cursului Interactiune om-calculator, master, Facultatea de Informatica, Alexandru Ioan Cuza din Iasi.

Statistics

Views

Total Views
1,509
Views on SlideShare
1,509
Embed Views
0

Actions

Likes
0
Downloads
14
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Game computing: tehnici AI Game computing: tehnici AI Presentation Transcript

    • Interacțiune om‐calculator 2.0 Dr. Sabin‐Corneliu Buraga Facultatea de InformaticăUniversitatea “A.I.Cuza” Iaşi, România Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0tehnici elementare de inteligență artificială Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 However beautiful the strategy,you should occasionally look at the results. Winston Churchill Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Cum folosim inteligența artificială într‐un joc? Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Artificial intelligence is the application of simulated reasoning for the purposes of making informed decisions and solving problems Brian Hall, 2004 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0In contextul jocurilor, sistemul trebuie să aproximeze  procesele de decizie astfel încât să pară inteligente AI being intelligent versus AI appearing intelligent if it looks smart, it is smart Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 “In AI research, the end goal is to simulate the human mind. In a game, the ultimate goal is  to make sure the game experience is fun.” Richard Rouse, Game Design Theory and Practice  (2nd Edition), Wordware Publishing, 2005 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Principii de proiectare: KISS (Keep It Simple, Stupid)tehnicile AI trebuie doar să convingă utilizatorul că entitățile jocului (e.g., NPC) sunt “smart” Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Principii de proiectare: Hard Does Not Equal Fun maniera de jucat nu trebuie să fie – obligatoriu – dificilăjucătorul uman nu poate fi la fel de eficient ca unul simulat  de calculator – vezi jocurile de strategie în timp‐real (RTS) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Principii de proiectare: Play Fair personajele simulate (NPC‐urile) trebuie să se conformeze  acelorași reguli ale joculuijucătorii umani sunt frustrați atunci când sistemul “trișează” Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Utilizări ale AI în jocuri (Rouse, 2005) provocarea jucătorului (challenge the player)modelarea comportamentului NPC (not do dumb things) realizarea impredictibilității (be unpredictable) suport în derularea narațiunii (assist storytelling) crearea unei lumi credibile (create a living world) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 artificial  stupidityDr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Utilizări ale AI în jocuri (Rouse, 2005) Tetris – generarea aleatoare a următoarei piese versusThe Sims – recurgerea la un sistem de agenți software  (comportament autoadaptiv al personajelor NPC) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Clasificarea (classification) rețele neuronale, logici fuzzy etc.Simularea sistemelor biologice (life systems) algoritmi geneticiGăsirea drumului (pathfinding) BFS, DFS, Dijkstra, euristici – e.g., metoda A*Luarea de decizii (decision making) automate, arbori de decizie, sisteme bazate pe reguli,… Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Scop: mutarea unei entități dintr‐o locație într‐alta, ținând cont de posibilele obstacole rol esențial în navigarea NPC‐urilor prin mediul joculuise reduce la găsirea drumului de cost minim într‐un (di)graf Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Implementări uzuale: mutarea în locația vecină (next step closer) parcurgeri de grafuri: BFS (Breadth First Search), DFS (Depth First Search), Dijkstra (shortest path algorithm) recurgerea la euristici: Best First Search, A* informed search  methods Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Metode tradiționale: Next  move one step closer to the goal during  Step Closer each iteration (cannot avoid obstacles)Breadth First  starting with a vertex, visit each of  Search  its children, and each of their children, etc. Best First  same as BFS, but children are selected  Search using a heuristic Depth First search a child of a vertex, then its first child,  Search then its first child’s first child,… Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Evitarea obstacolelor (în conjuncție cu next step closer) Random Bounce/Backstepping la întâlnirea unui obstacol,se face un pas înapoi și se selectează aleatoriu o locație liberă Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0intrarea într‐o “fundătură” (cul‐de‐sac) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Evitarea obstacolelor (în conjuncție cu next step closer) Obstacle Tracing la întâlnirea unui obstacol, ia‐o la dreapta/stângaapar probleme pentru grafuri complicate sau cu cicluri Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Metode euristice în contextul Best First Search,se consideră anumite locații (noduri ale grafului) ca fiind mai prioritare Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Metode euristicesuplimentar, Best First Search și A* se bazează pe 3 euristici pentru determinarea distanței de la nodul curent la cel final (nodul scop): maximul: max (dx, dy) Manhattan: dx + dy distanța euclidiană: sqrt (dx2 + dy2) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Metode euristicepentru A*, fiecare nod n are asociat costul f(n) = g(n) + h(n) g(n) – costul drumului de la nodul de start până la n h(n) – euristica aleasă euristică admisibilăcostul f(n) determină ordinea nodurilor alese să fie vizitate Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0bool AStarSearch (Node start, Node goal) { PriorityQueue open; // coada cu priorități List closed; // lista nodurilor drumului Node n, child; start.parent = NULL; // start n‐are precedent open.enqueue(start); // primul nod e cel de start while (!open.isEmpty()) { // mai există noduri de vizitat n = open.dequeue(); if (n == goal) { // nodul curent e ținta/scopul makePath();//  generăm calea de urmat return true; } Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0while (n.hasMoreChildren()) { // iterăm copiii nodului // preluăm următorul nod de vizitat child = n.getNextChild(); // …și calculăm costul asociat COSTVAL newg = n.g + child.cost; if ((open.contains(child) ||  closed.contains(child)) && child.g <= newg) continue; // copilul deja a fost vizitat sau // costul lui este prea mare child.parent = n; child.g = newg; child.h = GoalEstimate(child); // folosim euristica child.f = child.g + child.h; // costul actualizat Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 // nodul va trebui revizitat,  // din moment ce i s‐a reactualizat costul if (closed.contains(child)) closed.remove(child) if (!open.contains(child)) open.enqueue(child); else open.requeue(child); } // while (n.hasMoreChildren) closed.add(n); // actualizăm drumul curent } // while (!open.isEmpty())  return false; // drumul nu a fost determinat} Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Metode euristice pentru grafuri mari (e.g., hărți largi), structurile de date open & close pot fi ineficiente pentru alte detalii privind A*, a se consulta Stuart Russell & Peter Norvig, Artificial Intelligence. A Modern Approach (2nd Edition), Prentice Hall, 1995 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Modelarea unui joc de tip RTS – Real‐Time Strategy conform (Brian Hall, 2004) mediul include 10 tipuri de terenuri personajele NPC aparțin a 4 categorii de trupe (units) se definesc 7 trupe particulare terenurile/trupele au caracteristici diferite Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Modelarea unui joc de tip RTS – Real‐Time Strategy scopul este traversarea diverselor tipuri de teren de către cele 7 trupe, conform caracteristicilor specificate se va alege o euristică menită a lua în calcul atât tipul de terenuri, cât și categoria fiecărei trupe Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Tipuri de teren (terrain types) Jungle (J), Forest (F), Plains (P), Desert (D),Foothills (FH), Mountains (M), Roadway (R), Trail (T), Swamp (S), Water (W) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Tipuri de teren (terrain types)fiecare tip are proprietăți ce determină maniera de traversare exemplu: mountains consist of very steep slopes and rocky  uneven ground; this terrain is considered impassible to all  but those on foot, and even so is very difficult to traverse Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Categorii de trupe (units) Infantry: Light Infantry (LI), Heavy Infantry (HI)Wheeled Vehs: Jeeps (J), Armored Personnel Carriers (APC) Tracked Vehicles: Tanks (T), Mobile Base (MB) Hovercraft (H) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Categorii de trupe (units) exemplificare: Infantry are soldiers on foot, with excellent  maneuverability. They can traverse all types of terrain,  aside from water, with little impediment. Trails, roadways and other non‐varied terrain are preferred.  Heavy Infantry is incapable to traverse jungles, mountains,  and swampy terrains. Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Se specifica un cost de traversare pentru fiecare tip de teren,  conform categoriilor de trupe Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Acest cost va fi inclus în formula de calcul al euristicii: h(n) = h’(n) * Wu,t maximul,  Manhattan, distanța euclidiană Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Definirea hărții joculuiinițial, se poate adopta o soluție 2D, cu perspectiva aeriană,  recurgându‐se la un caroiaj (grid) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Simplificarea determinării drumului: Hierarchical Pathfindingse bazează pe divide‐et‐impera: divizarea spațiului în sub‐arii Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 conform Brian Hall, Artificial  Intelligence for Game Developers,  e‐Institute Publishing, 2004Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Determinarea drumului pentru configurații oarecare  (non‐gridded maps) soluții: super‐imposed grids visibility points (waypoint networks) radial basis cost fields quad‐trees Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Visibility points (waypoint networks) the idea is to place points around the obstacles,  and draw lines from each point to every other point  such that the lines do not cross through any obstaclesthese points are then used by the pathfinding algorithm to determine where you can walk Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Visibility points (waypoint networks) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Visibility points (waypoint networks) fiecare punct (waypoint) are asociate:  poziția, identificatorul, raza de influență, orientarea, alte date de interes (general blind data)datele de interes – e.g., animation trigger data, wait signal,  defend, danger, posture,… – pot fi utile în luarea deciziilor  sau pentru redarea stării personajelor Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Quad‐Treesharta este divizată în zone rectangulare (quads) ierarhice se memorează zonele ce pot fi formate  fără a se traversa nici un obstacol Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Quad‐TreesDr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Tehnici folosite în cadrul jocurilor: flocking decision trees state machines rule‐based systems squad behaviors scripting Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Flocking vizează luarea deciziilor la nivel de grup  compus din entități similaree.g., simularea comportamentului unui banc de pești, al unui stol de păsări etc. Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Flocking mulțimea de comportamente ale fiecărei entități a grupului contribuie la mișcarea acestuia behavior based movement comportamentul individual poate fi sau nu influențat  de entitățile din vecinătate Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 entitatea de interesscop: cum se decide care va fi următoarea mișcare  a entității de interes Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 entități  perceptibileentitățile perceptibile sunt cele care pot fi “simțite”  de către entitatea de interes Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 entități inaccesibileentitățile inaccesibile sunt cele ce nu pot fi percepute de către entitatea de interes Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0entitatea de interes va percepe obiectele din cadrul conului cercurile concentrice facilitează determinarea distanței până la alte entități ale grupului Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Flocking comportamente de bază: separarea (separation) coeziunea (cohesion) evitarea (avoidance) alinierea (alignment)Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Flocking separarea (separation)keep the separation between entities a certain fixed distance are loc în funcție de o distanță de separare considerată se bazează pe calculul de vectori Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Flocking coeziunea (cohesion) multiple entities tend to “stick together” membrii grupului trebuie să se afle în proximitate,  oferind astfel un grad de siguranțădeterminarea poziției medii a entităților perceptibile Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Flocking evitarea (avoidance) directing the group to move away from given thingsimplică existența capacităților de detecție a obiectelor, plus observarea mediului înconjurător Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Flocking alinierea (alignment) keeping all of the entities in the group  aligned in approximately the same directionajustarea direcției trebuie să se realizeze gradual noua direcție poate fi determinată  doar pe baza celei mai apropiate entități Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Flockingalte comportamente posibile, implementate în unele jocuri: cruisingdecide ce direcția va avea entitatea, daca ea rămâne singură Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Flockingalte comportamente posibile, implementate în unele jocuri: stay within boundsconstrânge entitatea de interes să se miște într‐un areal dat Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Arbori decizionali (decision trees)uzual, nu se ia în considerație starea sistemului (stateless) la fiecare iterație, întregul arbore este evaluat entitățile apar ca fiind indecise, în unele cazuri Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0arbore de decizie simplu asociat unui personaj NPC Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Automate cu stări finite (finite state machines) se evaluează starea curentă, pentru a se decide dacă are loc o tranziție de starede asemenea, se folosesc pentru realizarea animațiilor și pentru menținerea stării generale a jocului (game state) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0automat utilizat în procesul decizional al unui NPC Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0automat modelând starea jocului Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Sisteme bazate pe reguli (rule‐based systems) regulile pot fi specificate a‐priori sau se pot ajusta dinamicunei reguli i se pot asocia caracteristici: punctaj, prioritate,… situațiile complexe pot necesita  recurgerea la un sistem de interferență (inference engine) conform logicii folosite – e.g., calcul cu predicate Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Rule 1: Conditions: Player in View Decision: AttackRule 2: Conditions: Player not in view, not chasing, on patrol path Decision: Patrol PathRule 3: Conditions: Player not in view, not chasing, not on patrol path Decision: Go to Patrol PathRule 4: Conditions: Player not in view, chasing, chase time limit has not expired Decision: Chase PlayerRule 5: Conditions: Player not in view, chasing, chase time limit has expired Decision: Go to Patrol Path Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Comportamente bazate pe lider (Squad behaviors) una dintre entitățile grupului este aleasă ca lider, luând deciziile pentru întreg grupul uzual, membrii grupului se vor comporta conform ordinelor din partea liderului Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Comportamente bazate pe lider (Squad behaviors) fiecare membru al grupului are asociat un automat pe baza căruia realizează acțiunile specificate: așteptarea unei comenzi & mișcarea spre punctul țintă Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Comportament programat via scriptingfiecare entitate poate reacționa la diverse evenimente tratate  prin intermediul script‐urilor – incorporate sau externe exemple: Civilization IV recurge la programe Python externe Game Maker are suport pentru limbajul GML + editor vizual Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 jocuri cu 2 oponențiDr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Specificarea jocului cu 2 oponenți starea inițială: configurația jocului (e.g., poziția pieselor) + cine mută primul mulțimea operatorilor definind mutările legale testul de terminare (terminal test) funcția de utilitate: oferă valoarea numerică a rezultatului de exemplu, câștig=1, pierdere=‐1, remiză=0 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Un joc cu 2 oponenți poate fi considerat  ca fiind o problemă de căutare Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Decizii perfecte: MIN‐MAXcei doi jucători sunt numiți MAX si MIN, cu MAX primul la mutare Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Decizii perfecte: MIN‐MAXMAX va realiza o căutare a secvenței de mutări ce conduc  la o stare de terminare a jocului în care este câștigător  conform funcției de utilitate Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Decizii perfecte: MIN‐MAX MAX trebuie să găsească o strategie de câștig,  în mod independent de mutările lui MINde exemplu, determinarea mutării corecte a lui MAX pentru fiecare mutare posibilă a lui MIN Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Decizii perfecte: MIN‐MAXstrategia optimală pentru MAX e dată de algoritmul minimax generarea tuturor stărilor jocului aplicarea funcției de utilitate pentru stările terminalepe baza valorii acesteia, se poate calcula funcția de utilitate  pentru stările anterioare, până la cea inițialăMAX face mutarea ce duce la obținerea valorii celei mai mare Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0pentru a fi victorios, MAX va face mutarea de deschidere A1 replica lui MIN cea mai bună va fi A11 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Decizii imperfecte: alpha‐beta pruning utilizarea de euristici pentru a evalua utilitatea  & condiția de terminarearborele stărilor de joc nu mai este complet generat Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Jocuri bazate pe șansăarborele jocului va trebui să includă și noduri de tip chance,  alături de cele de tip MAX si MINîn loc de valoarea minimax, se va calcula o valoare anticipată  (expected value) conform unei funcții expectimax Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0arborele jocului de table (Russel & Norvig, 1995) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0orice sistem poate fi privit ca fiind un agent software (Enrico Franconi, 2003) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Agent software inteligententitate care percepe mediul și acționează conform cunoștințelor deja acumulate (internal declarative body of knowledge) aceste cunoștințe trebuie modelateastfel încât să poată fi înțelese de către mașină Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Puncte de vedere: agenții ca entități comportamentaleagenții ca descriere a atributelor acestora Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Aspect important: autonomia un agent este un sistem computațional capabilsă realizeze acțiuni autonome în cadrul unui mediu Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Agenții ca entități comportamentale  agere (lat.) asocierea calităților umane mașinilor înțelegerea comportamentului & semanticii sistemelor complexe (McCarthy, 1977) interfață om‐calculator: metafore & interacțiune “Ne pare rău, nu există trupe disponibile pentru misiune” Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Agenții ca entități comportamentale  sisteme intenționale: decizii & scopuri convingeri, dorințe, intenții, planuriexemplu: termostat – agent trivial (neinteresant) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Agenții ca sisteme intenționalecomportamentul uman e prezis și explicat via atribuirea de atitudini (attitudes)  noțiuni  intenționale credința, dorința, frica, speranța etc. “Simina muncește din greu, fiindcă dorește să termine proiectul.” Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Agenții ca descriere a atributelor lorentități software posedând funcții comportamentale,  rulând autonom și continuu în medii colective, compuse din alți agenți/procese a se parcurge J. Bradshow, Software Agents, AAAI Press/MIT Press, 1997 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Agenții ca descriere a atributelor lor reacție autonomie colaborare personalitate adaptabilitate inferență mobilitate … Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Agenții implică termeni/cunoștințe din: calcul distribuit inteligență artificială  interacțiune om‐mașină inginerie software filosofie lingvistică psihologie Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Agenții implică termeni/cunoștințe din: inteligență artificială reprezentarea cunoștințelor și a contextului modelarea mediuluicunoașterea acțiunilor: pre‐condiții, efecte, chaining raționament, deducere automată învățare automată (machine learning) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Agenții implică termeni/cunoștințe din: calcul distribuit inter‐comunicare client/server vs. peer‐to‐peer servicii Web negocierea mesajelor pervasive computing Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0agenții în context – conform Miles Davis, 2008 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Agenții trebuie să asigure autonomia și continuitatea acțiunilor întreprinse capabili să acționeze în mod flexibil și inteligent,  adaptându‐se situațiilor survenite fără aportul utilizatorului Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Ideal, un agent trebuie să învețe din propria‐i experiență și să dezvolte tehnici de comunicare și de cooperare cu alți agenți și/sau să manifeste mobilitate Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Utilizarea termenului “agent”: agenți de interfață personaje animate (embodied agents)agenți BDI – logică & raționament automat agenți mobili agenți autonomi & reactivi – robotică agenție a mulți‐agenților … Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Exemplu:  embodied agents  grafică generată de computer animație artisticăcaracter inteligent al comportamentului Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0O taxonomie a agenților – conform (Tim Jones , 2003) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Sistem multi‐agentsistem compus din mai mulți agenți, care interacționează unul cu altul Michael Wooldridge, 2002 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Sistem multi‐agentîn general, agenții reprezintă interesele utilizatorilor (scopuri & motivații) pentru o bună interacțiune,agenții trebuie să poată coopera, coordona și negocia Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Sistem multi‐agentfiecare agent posedă informații sau prezintă funcționalități  incomplete agentul nu poate rezolva problema (luată în ansamblu), în mod individual datele procesate sunt descentralizate calculul se desfășoară asincron nu există un control global al sistemului Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Modelare formală Cooperare Planificare Comportament Comunicare inter‐agenți DezvoltareInginerie – agent‐oriented paradigm Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 Cadre de dezvoltare a agenților (frameworks)e.g., JADE (Java Agent Development Environment), Cybele Sisteme multi‐agent comunicare via FIPA ACL eventual, având capacități de mobilitate  Obiecte mobile exemplu: agleți Java Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 sistem multi‐ agent conform (Jones, 2003)Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0 game development inteligența artificială în contextul jocurilornoțiuni fundamentale privind agenții software Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
    • Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco