Simularea unei activități [301947]
Simularea unei activități
umane utilizând un sistem
multiagenți
Realitate virtuala
Ce este realiatea virtuala?
[anonimizat] o simulare a [anonimizat], [anonimizat].
Cele mai multe ambianțe sau împrejurimi reprezentate cu metodele VR oferă de obicei o anumită experiență vizuală a [anonimizat], ori pe dispozitive 3D (stereoscopice) speciale. [anonimizat], forțe exercitate asupra corpului utilizatorului percepute prin simțul tactil etc. [anonimizat], astfel încât „cufundarea” mentală în lumea VR devine aproape atotcuprinzătoare. Alte aplicații oferă nu numai imagini ci și posibilitatea comunicării verbale; astfel ele pot crea chiar și o „teleprezență” sau și o „teleexistență” (desigur virtuale).
Realitate virtuala (Imaginea: vr 1.jpg)
De-a [anonimizat] a [anonimizat], [anonimizat], lume virtuala [1].
[anonimizat]-a lungul timpului s-au adus o serie de definitii.
in [4], termenul este definit ca „un ansamblu de programe si dispozititve care permit simularea intr-o maniera realista a unei interactiuni asupra unor obiecte virtuale care sunt modelari informatice ale unor obiecte reale”;
[anonimizat] „grafica interactiva in timp real cu modele 3D combinata cu o tehnologie de afisare care permite utilizatorului imersiunea in modelul lumii si posibilitatea manipularii directe a acestuia” [5].
[anonimizat]-senzoriala a experientei umane intr-o [anonimizat]-o printr-o „iluzie a [anonimizat] a acestui mediu” [6].
[anonimizat] „[anonimizat]-senzoriale, [anonimizat], generate de calculator si combinarea tehnologiilor necesare obtinerii acestor medii” [7].
Arnhein considera ca „[anonimizat] a [anonimizat], a celor observate la acest obiect”.
Asadar, [anonimizat]. Interactiune inseamana atat un simplu act de a privi in jur cat si modificarea lumii virtuale.
Realitatea virtuala se caracterizeaza prin cei trei „I”: imersiune, [anonimizat]:
imersiunea intr-o lume virtuala dand senzatia de a fi acolo;
interactiunea cu obiectele virtuale prin miscare si manipulare;
imaginatia umana = abilitatea umana si vointa de a accepta contributia aplicatiilor virtuale de a rezolva probleme din viata reala.
Conform [8], există următoarele genuri de VR: simulare, interacțiune, artificialitate, imersiune, teleprezență, [anonimizat], costume de haine electronice, de date.
Burdea si Coiffet au realizat, in [9], urmatoarea clasificare pentru realitate virtuala:
realitate virtuala textuala: interactiune fara imersiune;
realitate virtuala pentru desktop: exista si interactiune virtuala si imersiune;
realitate virtuala imersiva: interactiune si extra-imersiune, termenul oficial folosit fiind „high immersion”.
realitate virtuala augmentata: exista interactiune dar fara imersiune;
Domenii de aplicabilitate
Realitatea virtuala de obicei se refera la tehnologii computationale care folosesc software pentru a genera imagini realiste, sunete si alte senzatii pentru a replica un mediu real si pentru a simula prezenta fizica si comportamentul normal al utilizatorului in mediu.
Desi initial realitatea virtuala a fost asociata cu jocurile video, de-a lungul timpului s-au dezvoltat aplicatii si pentru alte domenii mai practice precum: medicina, militar, arhitectura, educatie si turism.
Imaginea: (Car racing simulator.jpg) Car racing simulator
VR in medicina
Aplicatiile de realitate virtuala din medicina au fost initial create din nevoia personalului medical de a vizualiza date medicale complexe, si de a invata diferite proceduri fara riscul pierderii vietii pacientului, in particular in domeniul operatiilor. Cele mai bune rezultate, pentru moment, au fost obtinute in domeniul chirurgiei laparoscopice. Studii publicate de Universitatea Yale din SUA sau de Danemarca au aratat ca medicii chirurgi antrenati cu ajutorul simulatoarelor au facut mult mai putine erori decat colegii lor neantrenati.
La inceputul anilor 1990, psihologul american Ralph Lamson impreuna cu un grup de persoane ce sufereau de acrofobie au realizat un experiment de realitate virtuala: in realitatea „reala” utilizatorul era in laborator insa in realitate virtuala acesta se vedea intr-un spatiu gol, nevoit sa mearga doar pe o scandura. Aastfel a aparut terapia cu ajutorul realitatii virtuale: VRT (virtual reality therapy). Aceasta ramura s-a dezvoltat ajungand sa trateze mai multe fobii precum:
agorafobia: teama de spații largi și/sau aglomerate;
claustrofobia: teama de spații strâmte, închise;
diferite zoofobii: teama de diverse animale (exemplu: teama de paianjeni: arahnohobia)
teama de zbor;
teama de a conduce masina;
teama de doctor si de procedurile medicale;
Pornind de la reactia umana: gandul la durere intensifica senzatia, la distragere se diminueaza, si utilizandu-se realitatea virtuala s-a reusit distragerea atentiei pacientului in cazuri de durere cronica, proceduri medicale dureroase, sau in cazul pacientilor cu arsuri.
Imaginea (3DiTeams_percuss_chest.JPG): Invatarea procedurii de percutare a piptului pacientului intr-um spital virtual, din aplicatia 3DiTeams.
VR in domeniul militar
Domeniul militar este unul din primele arii in care s-au gasit aplicatii practice pentru antrenamentul militarilor, pentru simularile de zbor ale pilotior, pentru antrenamentul utilizand nave maritime, etc.
Simularile militare, cunoscute sub numele de „war games” (jocuri de razboi), sunt modele in care tacticile de razboi pot fi testate si optimizate fara necesitatea existentei unui adversar real. Acestea eista in diferite forme, cu diferite grade de realism.
Aplicatiile recente au ca scop includerea nu doar a facorilor militari, ci si a factorilor politici si sociali. In acest scop au fost realizare seria de exercitii strategice NationLab in America Latina.
De asemenea, pentru acest domeniu s-au dezvoltat aplicatii medicale pentru tratarea stresului post – traumatic, de care sufera numerosi militari intorsi de pe front, dar si persoane care au fost victime sau martori la diverse evenimente traumatizante.
Imginea (330px-Vehicle_simulator.jpg): Un soldat care exerseaza conducerea unui vehicul utilizand un simulator.
VR in arhitectura
Arhitectura este un domeniu in care realitatea virtuala are un potential foarte mare in design-ul arhitectural, intrucat permite designerilor si clientilor sa vizualizeze/ sa testeze/ sa modifice constructiile in interior si in exterior inainte de constructia propriu-zisa.
VR in educatie
Cea mai recenta idee din educatie este utilizarea realitatii virtuale pentru optimizarea procesului de invatare, obiectivul fiind obisnuirea studentilor cu medii de experimentare, rezolvare de probleme si interpretare stiintifica (Laboratorul de realitate virtuala Buffalo);
Simularile din educatie sunt similare celor de antrenament: scopul este realizarea unei sarcini specifice. Termenul de „microworld” este folosit pentru simularile educationale deoarece acestea modeleaza fie un concept abstract si nu o simulare a obiectelor din lumea reala, fie modeleaza un mediu real intr- o forma simplista pentru ca utilizatorul sa poata invata conceptele cheie.
Majoritatea simularilor dezvoltate pentru educatie sunt simulari sociale care ilustreaza procese sociale si politice din antropologie, economie, istorie, stiinte politice. Intr-o astfel de simulare, utilizatorii pot avea roluri, pot participa la negocieri, etc. Mediul simulat se poate baza pe un sistem politic real / fictiv sau pe evenimente curente sau din istorie. Un exemplu de proiect realizat pe baza evenimentelor istorice este „Reacting to the Past” creat de Barnard College [33]. Alte proiecte dezvoltate pentru educatie de-a lungul timpului, ar fi: Global Challenge Award [30], Open Source Physics [29], NetSim [20], etc.
VR in turism / mostenire culturala
Pentru turism este posibila pastrarea digitala a caracteristicilor si restaurarea elementelor culturale conform detaliilor originale. De asemenea patrunderea unui utilizator intr-un astfel de mediu, ofera senzatia de a fi parte a mediului virtual.
De asemenea, se pot reproduce virtual cladiri din antichitate si muzee celebre.
Un exemplu de aplicatie creata in acest scop este reconstructia Cetatii Tomis creata de echipa CERVA in [10], in care a fost utilizata aceeasi ontologie de domeniu ca in aplicatia prezentata in aceasta lucrare. (Titlu img: Imagini din Reconstructia Cetatii Tomis [10])
VR in robotica
Un simulator de robotica este folosit pentru a crea aplicatii inglobate pentru un anumit tip de robot (si nu numai) fara a depinde de existenta „reala” a robotului. Simularile robotice permit reproducerea unor situatii care nu pot fi „create” in lumea reala din cauza costurilor, timpului si a unicitatii resurselor. In plus, un simulator permite realizarea rapida de roboti-prototip. In final, cand aplicatia este testata si optimizata poate fi transferata „robotilor reali” si utilizata in practica.
Imagine: Pepper este primul robot umanizat (social humanoid robot), capabil sa inteleaga si sa reactioneze la emotiile umane. A fost prezentat pe 16 mai 2016 la un eveniment de presa in Tokyo, de catre SoftBank. Paper suporta sistemul de operare Android [36].
Sursa [36]: PP58293.png
VR in sport
In sport, simularile computerizate sunt realizate pentru predictia rezultatelor evenimentelor si a performantei individuale a sportivilor. Rezultatele evenimentelor se stabilesc pornind de la modele create cu ajutorul statisticilor. Modelele sunt construite cu ajutorul unor serii de algoritmi matematici. Compania ESPN a lansat „Accuscore”, un program de simulare pentru majoritatea sporturilor. Acesta ofera analize detaliate ale jocurilor prin intermediul liniilor de pariuri simulate, totaluri de punct de proiectate și probabilități generale.
Scurt istoric
Primele referinte despre conceptul de realitate virtuala au venit din domeniul stiintifico-fantastic.
Morton Heilig (1926 – 1997), supranumit „Parintele realitatii virtuale”, a inventat in 1957 un simulator al experientei la teatru care sa antreneze mai multe simturi precum vederea, sunetul, mirosul si atingerea, impreuna cu 5 filmulete 3D.
Prototipul a fost numit „Sensorama”. Scopul era atragerea spectatorului in actiunea de pe ecran.
Deoarece dispozitivul a fost construit anterior tehnologiilor digitale, acesta era un dispozitiv mecanic [50].
Sensorama avea un maxim de 4 persoane, motiv pentru care s-a constuit dispozitivul „Experience Theater” brevetat in 1969. Acesta avea era compus dintr-un ecran mare de cinema semi-sferic care afisa inagini 3D, avand sunet directionat, arome, curenti de aer, variatii de temperatura si miscarea scaunului spectatorului.
Imaginea: Sensorama-morton-heilig-virtual-reality-headset.jpg
Descriere: The Sensorama machine [50].
In 1968, Ivan Sutherland si Bob Sproull au creat dispozitivul HMD (head-mounted display) numit „The Sword of Damocles”. Acesta este considerat a fi primul dispozitiv de realitate virtuala si de realitate augmentata, desi era primitiv atat din punct de vedere al interfetei cu utilizatorul cat si al realismului: HMD era foarte greu pentru a fi purtat pe cap de utilizator astfel incat era neccesara suspendarea lui de tavan [51].
Imaginea: HMD.png. Descriere: The Sword of Damocles [51]
MIT a creat in 1978 dispozitivul de VR numit Aspen Movie Map. Programul era o simulare virtuala primitiva orasului Aspen, Colorado. Utilizatorii se puteau „plimba” pe strazi in trei moduri: vara, iarna si in poligoane. Primele doua erau bazate pe fotografii: cercetatorii efectiv au fotografiat fiecare miscare posibila prin oras in cele doua anotimpuri, iar al treilea era un model primitv 3D al orasului [52].
Termenul de “Virtual Reality” a fost popularizat de catre Jaron Lanier, unul dintre pionierii industriei de profil, care in 1984 a fondat compania VPL Research (Visual Programming Languages Research). Aceasta s-a ocupat in principal de dezvoltarea de ochelari si manusi dedicate domeniului [53].
Imaginea: Un costum cu senzori pentru masurarea miscarii bratelor dezvoltat in cca 1989 de VPL Research. Este afisat in showroom-ul Nissho Iwai din Tokyo. (VPL Img.jpg)
Intrucat dispozitivele de realitate virtuala erau foarte scumpe si inaccesibile, majoritatea aplicatiilor dezvoltate in perioada 1970 – 1990 erau incercari pentru domeniul medical, simularea zborului, design-ul industriei automobilelor si antrenament militar.
In anii 1990, tehnologia VR isi face aparitia pentru prima data in industria jocurilor. Sega [54], o multinationala japoneza dezvoltatoare de jocuri video, a prezentat o casca dedicata jocurilor arcade: Sega VR si consola Mega Drive. Acestea utilizau
– ecrane LCD pentru afisarea continutului grafic,
– o pereche de casti, si
– o serie de senzori inertiali care permiteau detectarea miscarilor capului utlizatorului si transmiterea informatiilor catre computer.
In acelasi an, a fost lansat „Virtuality”, primul dispozitiv de divertisment VR multiplayer produs in masa. Echipamentul continea un set de casti si mănuși de exoschelet, oferind astfel primele experiente de imersivitate [37].
In 1991 Electronic Visualization Laboratory a creat prima camera cubica imersiva, utilizand un mediu multi-proiectat in care oamenii se puteau vedea pe ei si pe cei din jur [55].
Imagine: Cave – prima camera cubicca imersiva [55]. (cave.png)
In 1994 Apple a lansat QuickTime VR, care, in ciuda utilizarii "VR", era incapabil sa reprezinte realitatea virtuala, utilizand in loc panorame fotografice de 360 de grade [40].
Forte a lansat VFX1, in 1995, o casca de realitate virtuala care suporta jocuri precum: Descent, Star Wars: Dark Forces, System Shock and Quake.
In 1999, Philip Rosedale a creat Linden Lab [41]. Accentul a fost pus pe dezvoltarea de echipamente hardware care ar putea asigura o imersivitate intr-o realitate virtuala de 360 de grade. Ulterior a fost lansat software-ul 3D infatisand o lume virtuala: Second Life [42].
In 2001, SAS3 sau SAS Cube a devenit prima camera cubica pentru PC dezvoltata de Z-A Production [47].
Pana in 2007, Google a introdus Street View, un serviciu care afiseaza vederi panoramice asupra lumii. Erau incluse strazi, cladiri si zone rurale. In 2010 sistemul a fost actualizat cu vedere stereoscopica 3D [45].
Tot in 2010, Palmer Luckey, care mai tarziu a lucrat la Oculus VR, a dezvoltat primul prototip Oculus Rift, prototip capabil sa urmareasca doar rotatiile [34].
In iulie 2013 „Vendetta Online” realizata de Guild Software a fost clasificata ca fiind prima aplicatie MMORPG (Massively multiplayer online role-playing games) [35].
In urma analizei avantajelor acestui domeniu atat Google, cat si Samsung sau Facebook au inceput sa investeasca timp si bani in dezvoltarea proiectelor in aceasta directie:
Facebook a achizitionat in anul 2014 Oculus VR [34]. Compania s-a ocupat de dezvoltarea proiectului “Rift”, ducandu-l la un nivel destul de avansat.
Tot in 2014, Sony a anuntat „Project Morpheus” o casca de realitate virtuala pentru consola de jocuri video PlayStation 4 [39].
Google a publicat Cardboard, un viewer stereoscopic de tipul do-it-yourself stereoscopic pentru smartphone-uri [31].
In februarie – martie 2015, HTC in parteneriat cu Valve Corporation au anuntat dispozitivul lor de realitate virtuala: casti si controller-e inzestrate cu tehnologia de urmarire a miscarii numite Lighthouse.
Imaginea: O versiune din 2013 a lui Oculus Rift.
Oculus_Rift_-_Developer_Version_-_Front.jpg
La inceputul anului 2015 Google a demarat un proiect amplu prin care isi propune sa dezvolte sistemul de operare Android si pe viitoarele dispozitive destinate realitatii virtuale. In cursa pentru viitorul tehnologic se vor alatura Samsung, Sony si Microsoft care vor dezvolta propriile proiecte hardware. Spre deosebire de Microsoft care lucreaza individual la proiectul Hololens, Samsung si Sony lucreaza cu Google pentru dezvoltarea Gear VR, respectiv Project Morpheus.
Imaginea: https://www.microsoft.com/microsoft-hololens/en-us/why-hololens
Hololens (HoloLens imgH.png)
Imaginea: http://www.samsung.com/global/galaxy/gear-vr/
Gear VR (gear-vr_kv.jpg)
Imaginea: Project Morpheus (Morpheus1.jpg)
Oculus Rift, alaturi de Hololens, Gear VR sau Project Morpheus sunt doar cateva dintre cele mai promitatoare proiecte care ar putea aduce viitorul mai repede si mai aproape decat credem.
Simulari. Perceptia utilizatorului. Dispozitive de redare
Procesul de imitare a unui fenomen real cu un set de formule matematice se numeste simulare. Programele avansate pot simula conditii meteo, reactii chimice, reactii atomice si chiar procese biologice [32].
In teorie, orice fenomen care poate fi redus la date si ecuatii matematice poate fi simulat cu ajutorul calculatorului. In practica, totusi, unele simulari sunt extrem de greu de realizat deoarece fenomenele reale au un numar infinit de influente. Unul din trucurile utilizate pentru dezvoltarea simularilor utile este determinarea celor mai importanti factori [32].
In informatica, simularea este procesul utilizarii programelor software moderne si a echipamentelor hardware pentru a analiza rezultatul potential al unei situatii date, pe baza unor factori cunoscuti si introducerea uneia sau mai multor variabile, care au capacitatea de a influenta rezultatul oricarei situatii date [38].
Simularile utilizate in realitate virtuala sunt un tip de aplicatie care ajuta utilizatorii sa interactioneze, prin anumite simturi, cu proiectia unui reprezentari grafice realiste, de multe ori in trei dimensiuni.
Dezvoltarea unui mediu virtual realistic, adica al unei simulari, necesita o putere de calcul impresionanta pentru a genera o lume cu cei mai buni parametri de performanta posibili.
Scopul tehnologiei realitate virtuala este de a mentine magia universului creat si pentru aceasta utilizatorul are nevoie de un contact aproape inexistent cu procesele din fundal.
Astazi, filmele fac din spectatori simpli obervatori ai povestilor, pe cand tehnologiile de realitate virtuala ofera acestora posibilitatea de a se implica activ – de la simpli spectatori, pana la manipularea de obiecte.
Imaginea: (img inmesiv.jpg) [18] Imersiunea utilizatorului in mediu
Din punct de vedere tehnic, o experienta virtuala poate fi dobandita doar prin plasarea utilizatorului in spatiu, astfel incat, prin intermediul receptorilor acesta sa simta mediul (prin dispozitivele de iesire), iar reactiile lui la variatiile mediului sa fie exprimate prin efectori (si „citite” de dispozitivele de intrare). Acest lucru este cunoscut sub denumirea de simularea realitatii virtuale [2].
Pentru „inselarea simturilor utilizatorului”, un designer de realitate virtuala trebuie sa tina cont de sistemul perceptiv uman. In psihologie, percepția este definită ca fiind un proces senzorial complex, care conține toate informațiile și însușirile concrete despre un obiect sau fenomen în condițiile în care acestea acționează direct asupra analizatorilor. Conform lui Heilig [24], cele 5 simturi umane influenteaza perceptia astfel:
vederea are o contributie de 70%, intrucat aproximativ un sfert din creierul uman este implicat în procesarea vizuală – mai mult decât orice alt simț. Ochiul uman tipic poate percepe doar lumina la lungimi de undă cuprinse între 390 și 750 de nanometri;
auzul are o contributie de 20%. Gama frecvențelor care pot fi recepționate de urechea umană este de obicei intre 20 – 20.000 Hz;
mirosul are o contributie de 5%;
pipaitul are o contributie de 4%. Simțul tactil este deosebit de complex și presupune detectarea oricarui lucru, de la presiune, la senzația de mâncărime și la temperatură;
gustul are o contributie de 1%.
Desi gustul si mirosul sunt simturi care se bazeaza pe organe diferite, ele sunt foarte strans legate intre ele, atunci când cineva își pierde simțul mirosului, de exemplu, simțul gustului său este diminuat dramatic.
Pornind de la cele cinci simturi umane si de la faptul ca spatiul poate fi desemnat ca o intindere, mai mult sau mai putin definita, care contine obiecte (cu pozitie, forma, marime, distanta unele intre altele) si in care se deruleaza evenimente si actiuni, au fost dezvoltate simulari vizuale, simulari haptice si kineestezice, simulari auditive si simulari olfactive.
Astfel, o persoana care utilizeaza un echipament de realitate virtuala de obicei are capaticatea de a „privi in jur” in lumea artificiala, de a se misca si interactiona cu obiectele inconjuratoare afisate pe ecran. Cele mai multe aplicatii din 2016 sunt afisate fie pe un monitor fie pe un ecran de proiectie sau cu ajutorul castilor de realitate virtuala (denumite HMD – head-mounted display). Dispozitivele pot include accesorii de redare / prelucrare a sunetului prin intermediul castilor sau microfonului.
Sistemele haptice avansate pot include informatii tactile, fenomen cunoscut sub numele de „force feedback” (adică sunt inzestrate cu capacitatea de a comunica bidirecțional cu mediul virtual). Unele sisteme VR utilizate in jocuri video pot transmite vibratii si alte senzatii catre utilizator prin game controller-ul utilizat.
Perceptia vizuala. Dispozitive de redare vizuala
Campul vizual uman se caracterizeaza prin deschidere (verticala si orizontala de aproximativ x ), orientare spatiala (data de directia privirii) si claritatea vizuala. Pentru ca stimularea vizuala sa fie maxima intr-o experienta virtuala trebuie sa se tina cont de campul vizual uman.
Perceptia spatiului vizual implica urmatoarele caracteristici perceptive:
perceptia formei obiectelor;
perceptia marimii obiectelor;
perceptia distantei la care se afla amplasat obiectul depinde de marimea imaginii, de prezenta sau lipsa detaliilor de structura a obiectului, de prezenta sau absenta reperelor, de particularitatile cromatice ale obiectelor.
perceptia orientarii (directiei) obiectelor este determinata de verticala gravitationala si orizontala perpendiculara pe ea.
perceptia reliefului presupune reflectarea lungimii, latimii si adancimii obiectelor si se bazeaza pe disparitatea imaginii pe retina, gradul de iluminare a suprafetelor, perspectiva liniara aeriana [43].
Pornind de la cunostiintele biologice si psihologice ale modului de formare a imaginii 3D in scoarta cerebrala s-au creat diverse dispozitive pentru redarea realista a realitatii virtuale.
Cele mai simple sisteme de redare a relitatatii virtuale sunt cele desktop, necesitand un monitor obisnuit pentru a prezenta scena utilizatorului („window onto a world”). Ca alternativa, se poate folosi un ecran de proiectie in locul monitorului. In acest caz este posibila polarizarea luminii si utilizarea ochelarilor cu lentile polarizate. De asememenea, s-au dezvoltat aplicatii de redare a scenelor de realitate virtuala si pentru dispozitivele portabile precum telefon sau tableta.
In plus, gama dispozitivelor portabile de redare vizuala, nu s-a oprit aici. Ochelarii dedicati redarii realitatilor virtuale de genul celor produsi Vuzix sau GoogleGlases, constituie contracandidati seriosi ai telefoanelor si tabletelor deoarece acestia au avantajul de a nu restrictiona actiunile mainilor utilizatorilor [2].
Redarea realista a mediului virtual se bazeaza pe o serie de mijloace specifice graficii 3D, precum
transformari geometrice : pozitionare, rotire si scalare;
trasaturi fizice: culoare, textura, reflexivitate, transparenta/opacitate si umbre. Astfel se stabileste modul in care suprafetele interactioneaza cu lumina din scena;
crearea ideii de adancime: prin suprapunerea imaginilor (stereoscopie) si luand in considerare dimensiunile relative ale obiectelor, paralaxa miscarii (la deplasarea utilizatorului exista si o deplasare relativa a obiectelor), perspectiva liniara, inaltimea campului vizual;
o serie de niveluri ale detaliului pentru reprezentarea fiecarului obiect.
Imginea: ecran 3d.jpg Ecran 3D
Perceptia auditiva. Dispozitive de redare auditiva
Perceptia spatiului auditiv se refera la localizarea sunetelor, la determinarea directiei si distantei la care este situata o sursa sonora. Pentru perceptia sunetului sunt esentiale:
timpul in care parvine sunetul;
intensitatea sunetului,
natura reverberanta a sunetului, importanta pentru evaluarea distantei la care se afla sursa sonora.
distanta la care se afla sursa sonora si localizarea (repartizarea in spatiu a sunetelor);
scaderea aparenta a interferentei (diferentierea sunetelor de ecouri si zgomote) [43];
In redarea scenelor de realitate virtuala, sunetul poate imbunatati foarte mult capacitatea de perceptie a utilizatorului, informatia audio putand oferi indicii de orientare in spatiu, semnele de alertare sau focalizare care redirectioneaza atentia utilizatorului, realizand o perceptie multisenzoriala.
Pentru a simula un mediu auditiv realist este important sa tinem cont de mediul acustic si sa tratam o serie de aspecte precum ecoul sau reverberatia sunetului. De asemenea, pozitia si orientarea capului ascultatorului joaca un rol deosebit de important in perceptia audio.
In realitate virtuala, in afara de sunetele ce au ca scop atentionarea utilizatorului, se mai folosesc si ultrasunetele pentru determinarea pozitiei si orientarii unui obiect in spatiu. Pentru aceasta este nevoie de amplasarea in mediu a mai multor emitatori (de obicei trei) si a mai multor receptori (de obicei trei), a caror localizare este cunoscuta. Pe baza seturilor de date primite de la acestia se calculeaza pozitia si orientarea. Pentru determinarea distantei dintre doua puncte, exista doua tipuri de dispozitive acustice:
unele masoara timpul de deplasare: time – of – flight (TOF);
unele masoara coerenta fazei: phase – coherent (PC);
In general, sunelete sunt redate cu ajutorul boxelor si preluate cu ajutorul microfoanelor, incorporate in majoritatea dispozitivelor moderne.
Perceptia haptica. Dispozitive de redare haptica
Haptica (cuvant provenit din greaca „haptesthai” si insemnand „a atinge”) este stiinta care se ocupa cu studiul si dezvoltarea simularii simtului tactil in interactiunea dintre om si computer.
Un dispozitiv haptic include contact fizic dintre computer si utilizator, de obicei printr-un dispozitiv de intrare/iesire precum joystick sau manusi de date care sesizeaza miscarile corpului.
Un joystick este un periferic al computerului personal sau un dispozitiv de comandă ce constă dintr-o manetă care pivotează și transmite apoi unghiul său în două sau trei dimensiuni unui computer. Cu același design de bază, dar cu o importanță mult mai mare, este și instrumentul principal de control al aparatelor de zbor (elicopter și, mai nou, avion). Se bazează pe același principiu al joystick-ului pentru PC, imprimându-și mișcarea 3D unui computer central ce îi transformă mișcările în diferite acțiuni (virare, urcare, coborâre).
Imaginea: joystick: 300px-Joyopis.svg.png
Descriere: joystick elements: 1. Maneta 2. Baza 3. Trigger 4. Butoane extra 5. Autofire switch 6. Throttle 7. Hat Switch (POV Hat) 8. Suction Cup
O manusa de date este o manusa echipata cu senzori care detecteaza miscarea mainii si transmite datele catre calculator. Manusile de date sunt utilizate de obicei in medii de realitate virtuala unde utilizatorul vede o imagine a manusii si poate manipula obiectele din lumea virtuala utilizand manusa [32].
Imaginea: vr gloves.jpg
Sursa: http://sm.borec.cz/vr.html
Prin utilizarea dispozitivelor haptice, utilizatorul nu doar introduce informatii in calculator, ci, de asemenea, poate primi informatii de la calculator, sub forma de senzatii in anumite parti ale corpului. Aceasta relatie este cunoscuta sub numele de „interfata haptica”.
De exemplu, intr-un mediu de realitate virtuala, utilizatorul poate ridica o minge de tenis cu ajutorul manusilor de date. Computerul sesizeaza miscarea si schimba geometria mingei virtuale afisata pe ecran. Datorita naturii haptice a interfetei, utilizatorul simte mingea in mana sa prin fortele pe care computerul le trimite prin intermediul manusii de date, mimand astfel senzatia existentei mingii de tenis in mana utilizatorului [32].
Senzatiile haptice percepute de corpul uman pot fi divizate in doua grupuri principale:
feedback kinestezic – fortele sesizate de muschi, incheieturi si tendoane; se iau in considerare rata si directia miscarii extremitatilor noastre precum si pozitita statica in cazul in care deplasarea este intrerupta.
feedback tactil – include fieedback-ul obtinut prin intermediul pielii, cum ar fi atingerea, temperatura, vibratia, inteparea, rugozitatea sau presiunea asupra suprafetei pielii.
Haptica ofera o alta dimensiune pentru realitatea virtuala sau mediile 3D si este esentiala pentru imersiunea utilizatorului in aceste medii.
Comunicarea haptica sau kinestezica recreaza senzatia antingerii prin aplicarea de forte, vibratii, si miscare asupra utilizatorului.
Plasarea si manevrarea obiectelor din mediile virtuale contribuie la cresterea naturaletii interactiunii. In acest sens s-au propus o serie de dispozitive de manipulare presupunand o mecanica cu grade diferite de complexitate, de la joystickuri, manusi, SpaceBall, SpaceMouse si pana la dispozitive sofisticate, cu o mecanica complexa precum simulatoare de forta realizate cu ajutorul parghiilor, sau proiectului UNC GROPE [2].
Prin cresterea complexitatii dispozitivelor, a crescut si calitatea interactiunii kinestezice. Astfel utilizatorul poate manevra obiectele virtuale executand manevre naturale si intuitive asupra dispozitivului. Aceste actiuni sunt transformate in forte de translatie si momente de torsiune care sunt aplicate obiectului virtual [2].
In combinatie cu o simulare vizuala, tehnologia haptica poate fi utilizata pentru antrenamentul oamenilor in domenii care necesita coodonare ochi-mana, precum chirurgia sau manevrarea nevalor spatiale. De asemenea poate fi utilizat pentru jocuri. De exemplu doi utilizatori din doua colturi diferite ale lumii pot juca tenis: amandoi pot vedea mingea miscandu-se si, utilizand un dispozitiv haptic pe post de racheta, pot simti impactul cu mingea.
Prin utilizarea concomitenta a celor trei tipuri de simulari prezentate, se pot obtine simulatoare eficiente care redau foarte fidel conditii reale din diferite domenii.
In principal, pentru a crea simulari realistice, complexitatea dezvoltarii sta in combinatia dintre tehnologia grafica si cea haptica.
Sisteme multiagenti
Un sistem multiagenti este un sistem distribuit format dintr-o colectie de agenti autonomi care interactioneaza intr-un mediu comun, fiecare avand cunostiinte, capacitati de actiune si scopuri proprii.
Conform [15, 16] au fost identificate cinci componente esentiale ale sistemelor multiagenti:
mediul virtual;
agentii din mediu;
interactiunile agent – agent sau agent – mediu;
organizarea agentilor in mediu;
perspectiva utilizatorului – care interactiuneaza cu ceilalti agenti prin intermediul avatarului.
Mediul virtual
Mediul virtual este un element important, el reprezentand lumea virtuala in care „traiesc” toate entitatile virtuale, inclusiv agentii. Conform [3], mediul este „suportul tuturor actiunilor agentilor si contine resursele necesare realizarii acestor interactiuni”.
Din punct de vedere al agentului exista doua tipuri de medii:
mediul intern agentului: contine stimuli interni precum foame, frica, etc;
mediul extern: contine totalitatea agentilor existenti impreuna cu relatiile dintre acestia. Se poate caracteriza prin diferite proprietati precum accesibilitate, caracter determinist, caracter episodic, dinamica, continuitate concurenta, etc [17].
Un mediu este accesibil de catre agent, daca el poate obtine informatii complete, exacte si actuale despre starea curenta a mediului. Cu cat este mai accesibil un mediu, cu atat este mai usor de construit agentul respectiv. In general mediile de complexitate medie sunt accesibile doar partial.
Un mediu este determinist daca orice actiune asupra sa are un efect unic, previzibil, adica nu exista nicio incertitudine despre starea mediului dupa finalizarea actiunii. Mediile nedeterministe prezinta o complexitate sporita pentru crearea agentilor lor.
Un mediu este episodic atunci cand activitatea agentului dintr-un episod nu depinde si nu are memoria altor stari episodice. Astfel actiunea agentului depinde doar de episodul curent si nu de episoadele anterioare sau ulterioare. Crearea unui agent episodic este mult mai usoara si neconsumatoare de memorie decat crearea unui agent non-episodic. In plus, independenta episoadelor unui agent este avantajoasa deoarece agentul nu trebuie sa anticipeze, iar nerealizarea unui episod nu duce la intreruperea intregii activitati.
Un mediu este dinamic daca se modifica in timp, datorita actiunilor agentului. Altfel el se numeste mediu static. Mediile statice sunt usor de dezvoltat deoarece agentul nu este nevoit sa inspecteze incontinuu mediul pentru a determina starea acestuia si pentru a decide asupra propriilor actiuni. De cele mai multe ori insa, mediul este dinamic, similar mediului lumii reale.
Un mediu este discret daca are un numar finit sau cel mult numarabil de stari posibile. Altfel, mediul este continuu.
Un mediu este concurent daca exista mai multi agenti care doresc sa actioneze asupra acelorasi elemente ale mediului.
Un mediu real este inaccesibil, non-determinist, non-episodic, dinamic si continuu. Acesta este cazul cel mai greu de tratat.
Agenti virtuali
Entitatea virtuala este reprezentarea, in mediul virtual, a unui obiect din mediul real, impreuna cu proprietatile esentiale ale acestuia.
Entitatile din cadrul unui mediu virtual pot avea diferite specializari. Astfel avem:
receptori: detectori de stimuli intr-un spatiu informational;
efectori: realizeaza modificari aupra starii entitatii, si implicit asupra starii mediului virtual.
Entitatile pot fi grupate in vederea obtinerii de agregate de entitati, obtinand astfel obiecte mult mai complexe.
Un agent virtual este o entitate complexa care interactioneaza permanent cu mediul sau, si se caracterizeaza prin autonomie, reactivitate, proactivitate si sociabilitate, conform [28]. Agentul percepe mediul prin receptori si actioneaza, in functie de mediu, prin intermediul efectorilor.
Qvortrup reuneste proprietatile de reactivitate, proactivitate si sociabilitate sub numele de flexibilitate in [11].
Shehory si Sturm, pe langa autonomie si sociabilitate, in [12], vorbesc si despre capacitati precum complexitatea, adaptabilitatea si concurenta agentilor dintr-un sistem software.
In figura de mai jos este prezentata arhitectura agentului.
Img: 20170527_183414.jpg
Desc: Arhitectura agentului [3]
Capacitatea de autonomie
Cea mai importanta capacitate a agentilor este autonomia lor i.e. capacitatea lor de a actiona independent pentru a-si indeplini obiectivele. Autonomia se datoreaza unui mecanism de control asupra actiunilor si starilor sale interne.
Conform [3,13], un agent autonom este capabil sa „decida singur modul in care pune in relatie datele senzoriale, provenite din mediul agentului, cu comenzi motorii in vederea atingerii scopurilor sale”.
Conform [3, 17], un agent este autonom „in masura in care actiunile sale depind mai degraba de experienta proprie si nu de cunostiintele ce i-au fost furnizate de catre modelatorul sau asupra mediului”.
Conform [3, 11], agentul este o „unitate distincta si independenta avand un oarecare grad de inchidere si abilitate de a actiona”. Nivelul autonomiei este considerat ca o „functie de ceea ce artefatul poate sa faca in lipsa interventiei externe lui, umana sau a altor agenti, precum si de ceea ce acestia din urma nu pot face artefactului, anume sa modifice anumite stari sau sa initieze anumite actiuni care se afla sub controlul agentului”. Comportamentul agentului este rezultatul modului in care agentul isi gestioneaza aceasta autonomie.
Capacitatea de reactivitate
Reactivitatea agentului se refera la capacitatea acestuia de a intelege mediul si de a reactiona la schimbarile care apar in el pentru a-si indeplini obiectivele, intr-un timp rezonabil de raspuns.
Un agent reactiv cunoaste mediul inconjurator, insa nu dispune in mod obligatoriu de abilitati de rationare asupra acestor cunostiinte. El se bazeaza pe principiul de actiune si reactiune. Stimulul care poate declansa reactiunea agentului poate fi atat intern cat si extern acestuia. De cele mai multe ori, acest tip de agenti nu au o reprezentare complexa a mediului in care traiesc, si prin urmare, nu pot crea planuri sau strategii de actiune.
Un exemplu de agent reactiv este un termostat ce dispune de un senzor pentru a detecta temperatura camerei. Mediul termostatului poate fi în una din urmatoarele două stări: prea frig sau temperatură corectă. Acțiunile disponibile fiind doar două, corespunzătoare celor două stări ale mediului: caldura pornita sau caldura oprita.
Agentul poate la orice moment să reacționeze imediat, decizia despre acțiunea pe care o va efectua fiind independentă de acțiunile sale anterioare.
Un alt exemplu de agent reactiv, din mediul virtual, poate fi un peste sau un banc de pesti de talie inferioara care reactioneaza, cel mai probabil prin fuga, atunci cand se apropie un pradator. Desi, din punct de vedere local, agentii reactivi au doar o mica influenta asupra mediului lor, acestia sunt foarte utili in analiza si statisticile realizate pentru comportamentele de grup.
Capacitatea de proactivitate
Daca in plus, pe langa faptul ca raspunde la modificarile din mediu, agentul este capabil sa ia initiative, avand astfel un comportament dirijat de obiective, el devine proactiv. Un astfel de agent poseda resurse, competente si obiective proprii, avand capacitatea de a recunoaste oportunitatile necesare pentru indeplinirea obiectivelor sale. In plus, un agent proactiv are capacitatea de a lua decizii in urma unei etape de rationare. Cu alte cuvinte, proactivitatea unui agent implica existenta abilitatii de „anticipare a mediului si de planificare a propriilor actiuni” pentru a-si atinge obiectivele [3].
Un agent proactiv este capabil sa supravietuieasca intr-un mediu virtual, fara interventia utilizatorului datorita capacitatii sale de a prelua initiativa pentru a-si atinge obiectivele atat pe baza de stimuli externi cat si interni. Considerand exemplul cu pestele de mai sus: acesta va fi capabil sa mearga in cautarea hranei atunci cand stimulii interni o cer insa va alege fuga de pericol daca in drumul sau apare un pradator, schimbandu-si astfel, temporar, obiectivul.
Astfel, putem spune ca stimulii interni vor determina agentul proactiv sa isi satisfaca necesitatile interne, insa stimulii externi il vor determina sa isi adapteze comportamentul la noile conditii. Faptul ca acesta este capabil sa gestioneze eventualele conflicte dintre starea lui interna si starea mediului inconjurator denota autonomia agentului proactiv.
Capacitatea de sociabilitate
Conform [1], sociabilitatea agentilor se refera la capacitatea acestora de a interactiona cu alti agenti sau cu utilizatorul, prin intermediul avatarului acestuia. Interactiunea intre agenti se realizeaza prin coordonare, cooperare si negociere intre acestia. Capacitatea sociala a agentilor este foarte importanta intrucat, la fel ca in lumea reala, si in mediul virtual exista obiective care nu pot fi atinse decat interactionand cu alti agenti. Un exemplu este actiunea de vanzare – cumparare a unui bun.
Cooperarea agentilor reprezinta activitatea lor in comun ca o echipa pentru atingerea obiectivului comun. Rolul capacitatii de cooperare a agentilor se vede atunci cand
niciunul nu este capabil sa isi atinga scopul in mod individual
sau cand obiectivul poate fi atins in conditii mai bune
resurse de timp mai mici;
resurse materiale mai mici;
cu un grad de siguranta mai mare de atingere a obiectivului.
Un exemplu in care cooperarea agentilor este importanta este ridicarea unui obiect cu o greutate mai mare decat greutatea pe care o poate ridica un agent intr-o simulare pentru incarcarea, descarcarea sau transportul marfurilor.
Coordonarea agentilor apare deseori in cazul cand trebuie programat orarul de utilizare a resurselor comuni, atunci cand activitatile agentilor sunt interdependente unele de altele; de exemplu, un vanzator din piata virtuala nu poate solicita transportul marfurilor catre un posibil cumparator inainte ca acesta sa isi fi dat acordul pentru cumparare.
Negocierea reprezinta abilitatea de a ajunge la un compromis atunci cand agentii au un interes comun, iar incheierea acordului permite in final atingerea obiectivelor individuale ale agentilor. Ca exemplu, amintim actiunea de negocierea a pretului unui produs in vederea vanzarii respectiv cumpararii produsului. Daca se ajunge la un pret comun, acceptat de cei doi agenti participanti, atat cumparatorul cat si vanzatorul isi ating obiectivele.
In acelasi timp, atunci cand agentii au obiective contradictorii, dar vizeaza un obiectiv median, negocierea este solutia in ceea ce priveste accesul la resurse sau la executia serviciilor. Intr-o astfel de negociere, fiecare din partile implicate poate face propuneri contradictorii, procesul fiind unul iterativ care se paote derula sub anumite constrangeri precum timpul, obligatia de a ajunge la un acord, disponibilitate resurselor, etc.
Capacitatile sociale ale unui agent se vad atunci cand mediul este unul puternic populat, eventual cu ierarhii sociale in care indivizii au drepturi si responsabilitati similar unei societati din mediul real. Coform [3], intr-un astfel de mediu „entitatile trebuie sa isi coordoneze comportamentele si eventual sa isi partajeze cunostiintele in vederea indeplinirii de sarcini, posibil colective, prin cooperare”.
Capacitatea cognitiva
Inteligenta agentului presupune, in primul rand, capacitatea acestuia de a rationa cu reprezentarile simbolice pe care le detine despre mediul inconjurator si in raport cu starea sa interioara. Daca agentul are capacitatea de invatare si memorare, acesta poate rafina rezultatul rationarii pe baza unor experiente similare anterioare.
In al doilea rand, dovada a inteligentei unui agent este si capacitatea acestuia de a-si adapta comportamentul si obiectivele in functie de interactiunile sale cu mediul si cu alti agenti. Exemplul cu agentul care a pornit in cautarea hrnanei dar a intalnit un pradator care a generat schimbarea temporara a obiectivului agentului se potriveste si aici.
Privind agentii si din punct de vedere colectiv, nu doar individual, se observa un alt tip de inteligenta si anume inteligenta colectiva [22]. Fara a presupune existenta unor capacitati cognitive la nivelul agentilor societatii, inteligenta colectiva este considerata a fi rezultatul direct al aplicarii constante a regulilor societatii, conducand la atingerea unui obiectiv global [3]. Acesta este cazul agentilor reactivi care, datorita mecanismului lor bazat pe relatia stimul-raspuns sunt clasificati ca fiind neinteligenti. Desi individual ei nu poseda nici cunostiinte despre mediu, nici mecanisme de rationare sau comunicare, ei pot fi inteligenti la nivel de grup. Comportamentul grupului este rezultatul interactiunilor dintre agenti si mediul lor. Acesta este considerat in masura adaptabilitatii agentilor la mediu. Ca exemple avem bancurile de pesti, stolurile de pasari, coloniile de furnici, etc.
Capacitatea de a fi credibil
Conform [3], un tip de agent mai usor de acceptat fata de agentul inteligent – cognitiv este agentul credibil. Credibilitatea agentului implica „abstractii de inspiratie artistica si retinerea acelor aspecte ale agentului care sunt estentiale in exprimarea personalitatii sale si a rolului pe care il joaca in contextul experientei spatiale in care este implicat utilizatorul”.
Un agent credibil nu reactioneaza de fiecare data in acelasi fel la evenimente identice. El poseda capacitati de procesare a informatiilor provenite din diferite surse, inregistreaza si receptioneaza modificarile mediului sau conform personalitatii sale.
Privind din punct de vedere al colectivitatilor de agenti, putem spune ca un agent este credibil daca organizarea din care face parte are un comportament credibil.
Capacitatea emotionala
Atunci cand se implementeaza un agent inzestrat atat cu abilitatile amintite anterior cat si cu concepte precum emotia, notiunea de agent devine mult mai puternica.
In imaginea de mai jos este realizat un model al comunicarii afective dintre agent – utilizator si avatar – agent. Conform [3], „utilizatorul, aflat intr-o stare emotionala proprie, receptioneaza agentul si interpreteaza comportamentul acestuia exprimat printr-o combinatie de forme de exteriorizare de care dispune (expresii faciale, gestica, sunete, etc). Pe baza datelor obtinute in urma interpretarii, utilizatorul isi construieste un model al starii emotionale a agentului, model pe care il utilizeaza in formularea raspunului (emotional) pe care il exprima in mediul virtual, vizand agentul, prin intermediul avatarului sau”.
Imaginea: [3] 20170527_153044.jpg
Desc: Comunicare afectiva intre agent – utilizator si avatar – agent.
Un agent care mentine o stare emotionala interna se numeste agent afectiv.Acesta stare este definita de o serie de scalari interni precum: bucurie/tristete, speranta/teama, satisfactie/insatisfactie, mandrie/rusine, admiratie/repros, dragoste/ura, etc [25]. La crearea unui agent emotional trebuie sa se tina cont de starile contradictorii care pot aparea. De exemplu nu are rost crearea unui agent care este si fericit si speriat in acelasi timp.
Alte abilitati
Agentii virtuali pot avea alte abilitati, in functie de gradul de inteligenta respectiv credibilitate cu care se doreste a fi inzestrat agnetul, precum:
mobilitate: capacitatea unui agent de a se mișca în mediul său.
invatare: capacitatea de a învața din interacțiunea cu mediul extern, din experiență. Ca rezultat al procesului de învǎțare agentul poate anticipa viitorul.
adaptabilitate: capacitatea de a se adapta la mediu cand acesta sufera modificari; de exemplu, un agent va lua decizia de fuga atunci cand un pradator se apropie.
bunavointa: un agent poate alege sa ajute alt agent in functie de stimulii sai interni.
Interactiune
Intr-un sistem multiagenti este vizat comportamenul entitatitilor autonome, si nu comportamentul intregului sistem.
Elementele lumii virtuale pot interactiona intre ele:
direct, prin intermediul
actiunilor concomitente asupra acelorasi resurse;
comunicarii directe (realizata de agenti cognitivi, capabili sa interpreteze actiunile interlocutorilor si sa rationeze asupra mesajelor);
indirect, prin intermediul
actiunilor neconcurente asupra elementelor componente;
efectului comunicarii indirecte (agentii nu constientizeaza in mod neaparat existenta celorlalti agenti, ei utilizand mediul pentru interactiune. Daca, insa, agentii sunt constienti de existena semenilor acestia trebuie sa rationeze asupra actiunilor celorlalti, utilizand, de exemplu harti cognitive Fuzzy);
Descrierea corecta a interactiunilor posibile dintre elemente conduc la un comportament global coerent si credibil.
Intr-o aplicatie multiagenti, interactiunea din mediul virtual poate fi descrisa ca o „relatie dinamica intre doi sau mai multi agenti stabilita prin intermediul unui ansamblu de de actiuni reciproce asupra acelorasi elemente” [3]. Interactiunea dintre elemente poate fi rezultatul unei comunicari intre agenti. De exemplu: livrarea unui produs cumparat presupune solicitarea in prealabil a livrarii adica o comunicare intre agenti.
Astfel, comunicarea dintre agenti are ca scop modificarea starii mentale a acestora, iar interactiunea are ca scop manipularea obiectelor partajate de agenti, producand astfel o modificare a starii mediului. Imaginea de mai jos surprinde actiunea asupra mediului si interactiunea dintre agenti.
Imaginea: 20170527_160110.jpg [3]
Desc: Actiunea asupra mediului si interactiunea dintre agenti.
Facand o paralela intre efectul unei comunicari si efectul unei interactiuni, putem spune ca o interactiune are intotdeauna un efect imediat, in timp ce o efectul unei comunicari depinde de tipul acesteia.
Organizare
Organizarea unui sistem multiagenti reprezinta implementarea unei topologii de grup in care agentii sunt specializati in functie de capacitatile si de responsabilitatile lor. Astfel, putem spune ca agentii joaca diverse roluri in cadrul lumii lor.
Rolurile specifica diferitele responsabilitati pe care agentii le au in cadrul organizarii. Responsabilitatile sunt definite prin „ansablul elementelor comportamentale” [3] pe care un agent, care joaca un anumit rol, trebuie sa fie capabil sa le realizeze.
Pentru constangerea comportamentului agentilor se pot considera legaturi organizationale si reguli sociale.
Tipuri de organizare:
explicita: rolurile sunt predefinite, structura organizationala fiind cunoscuta inaintea simularii;
emergenta: structura organizationala nu este cunoscuta, ea putand fi aflata doar prin observarea actiunilor agentilor in timpul simularii;
statica: structura organizationala si entitatile sunt fixate, incapabile sa evolueze pe durata simularii;
dinamica: structura organizationala si entitatile sunt capabile sa evolueze pe durata simularii;
De-a lungul timpului au fost propuse mai multe modele pentru organizarea agentilor, dintre care amintim modelul propus de Ferber si Gutknecht in [26], bazat pe conceptele de agent, grup si rol, si modelul propus de Querrec in [27], care considera inca un concept, si anume comportamenul agentului.
Astfel, conform [3, 26, 27], avem urmatoarele:
agentul este o entitate activa care joaca un rol in cadrul unei organizatii;
un grup permite identificarea unei multimi de agenti cu caracteristici (capacitati si responsabilitati) comune;
un agent poate fi membru al mai multor grupuri;
un rol constituie o abstractizare a starii, pozitiei, si functiei unui agent in cadrul grupului, oferind o descriere a comportamentului agentului;
un agent care are un anumit rol, trebuie sa aiba si competentele necesare;
un agent poate avea mai multe roluri, iar un rol poate fi jucat de mai multi agenti.
Fig1: 20170527_171358.jpg, Desc: Modelul Agent/Grup/Rol [3]
Fig2: 20170527_171411.jpg, desc: Modelul Agent/Grup/Rol/Comportament
Avatarul
Avatarul este un caz particular de agent. Prin intermediul avatarului, utilizatorul poseda o proiectie a sa in lumea virtuala, putand astfel sa „simta” mediul virtual impreuna cu entitatile, agentii sau avatarii continuti de acesta. Astfel avatarul devine un mecanism de interactiune si comunicare intre utilizator si ceilalti participanti la mediu.
Din punct de verere structural, avatarul este un agent evolutiv, avand ca particularitate faptul ca deciziile apartin utilizatorului. De exemplu, avatarul este capabil de a se deplasa spre o usa, dar decizia deschiderii acesteia apartine utilizatorului.
Astfel, avatarul asigura asistenta utilizatorului in realizarea intentiilor sale prin indicarea unor posibile solutii sau constrangerea utilizatorului in vederea impiedicarii sale de a efectua actiuni nepermise. De asemenea, un avatar are posibilitatea continuarii actiunilor initializate de utilizator [3].
Evoulutia unui agent in mediul virtual
Conform[18], atat plasarea cat si evolutia unui agent intr-un mediu virtual se realizeaza cu ajutorul schimbului de stimuli dintre agent si mediu.
Un stimul este un container cu informatie, degradabila in timp, despre starea modificarile starii agentului. Un stimul este lansat atunci cand apare o variatie a unui atribut al unui agent, prin intermediul efectorilor.
Un stimul receptionat de un agent poate fi intern lui (emis de el – de exemplu „foamea”) sau extern (emis de un alt agent). Din punct de vedere al mediului, toti stimulii sunt interni.
Stimulii pot avea intensitati diferite, astfel incat ei pot fi perceputi doar de agentii aflati in apropierea emitatorului. Astfel, exista posibilitatea ca un stimul emis cu o intensitate mica sa nu fie perceput de niciun alt participant al mediului.
Agentii percep stimulii cu ajutorul receptorilor. Receptorii sunt entitati sensibile la o categorie de stimuli produsi de modificari ale mediului si/sau agentilor.
Rolul receptorului, dupa primirea stimulilor, este de a-i transmite catre componenta de tip analizator-decidor a agentului, actionand ca translator intrucat transforma informatia in senzatie.
Analizator-decidorul este responsabil cu:
filtrarea perceptiilor, interpretarea datelor primite si transformarea acestora in posibile raspunsuri comportamentale ale agentului;
selectia actiunilor agentului.
Pentru a obtine un raspuns la o perceptie, el tine cont de obiectivele, capacitatile, starea emotionala a agentului si de modelul lumii din perspectiva acestuia. Ultimele doua se actualizeaza in cazul in care rezultatul obtinut contine o informatie noua. Actualizarea obiectivelor consta in verificarea conditiilor de continuare sau de reluare in cazul actiunilor intrerupte.
Pentru a selecta actiunea agentului, analizator-decidorul trebuie sa tina cont de prioritatea actiunilor si de faptul ca doua actiuni concurente nu pot fi contradictorii. De exemplu trebuie evitate situatiile in care agentul este pus sa se deplaseze in doua directii opuse concomitent, intrucat fiecare pas facut intr-o directie va fi anulat de un pas in ce-a de-a doua directie.
Cunostiinta agentului contine date precum: sentimente, modelul lumii, experienta, abilitati, necesitati interne, obiective, etc. Cunostiinta este capabila sa emita stimuli si poate fi modificata doar prin intermediul analizator-decidorului.
Ontologii
Definitie. Etimologie termen
Termenul de “ontologie” provine din limba greaca, fiind format prin alaturarea lui onto (a fi, ceea e exista) cu logia (stiinta).
Notiunea de Ontologie a aparut prima data in filozofie, initial fiind utilizata de filosoful german Jacob Lorhard in 1606, in lucrarea „Ogdoas scholastica” cu sensul de metafizica si apoi in 1613 de catre Rudolph Göckel in lucrarea „Lexicon philosophicum” unde foloseste expresia „ontologia,philosopfia de ente” ce semnifica „ontologia filosofia existentei”.
Aici, Ontologia se ocupa cu studiul realitatii, fiind o ramura a metafizicii. Ea abordeaza toate entitatile si modurile lor de a exista in timp si relatiile dintre ele, avand o atentie deosebita pentru relatia dintre particulari si universali, dintre proprietatile intrinsece si cele extrinsece, dintre esenta si existenta.
Asadar, in cadrul ontologiei, folosofii nu cauta sa explice realitatea ci o descriu in termenii unei clasificari a entitatilor din lumea reala, vazuta ca un tot. Descrierea, numita si teorie ontologica, trebuie sa fie, in sensul ca toate tipurile de entitati trebuie sa fie continute in clasificare, inclusiv toate tipurile de relatii dintre entitati.
Ontologiile au fost introduse in informatica de peste 15 ani, si de atunci au castigat un rol important in Inteligenta Artificiala, Lingvistica Computationala, Ingineria sistemelor, Arhitectura software, Teoria bazelor de date, si in ultimii cativa ani, Web Semantic. Ontologiile au fost create pentru a transpune cunostintele lumii intr-un limbaj care poate fi înteles de calculator.
In domeniul informaticii, de-a lungul timpului, notiunea de „ontologie” a fost studiata si s-au dat mai multe definitii pentru acest concept. Astfel:
N. Nilsson si M. Genesereth definesc termenul ca fiind „o vedere simplificata, abstracta a lumii pe care vrem sa o reprezentam cu un anumit scop” [44];
Guarino vede ontologia ca o multime de relatii conceptuale definite pe un spatiu domeniu: „O ontologie este o teorie logica a intelesului intentionat al unui vocabular formal, adica angajamentul sau ontologic la o conceptualizare particulara a lumii Modelele intentionate ale unui limbaj logic care folosesc un astfel de vocabular sunt constranse de angajamentul sau ontologic. O ontologie reflecta indirect acest angajament (si conceptualizarea sa de baza) prin aproximarea acestor modele intentionate” [23].
Gruber defineste ontologia ca fiind o descriere (similara unei specificatii formale sau unui program), a conceptelor si relatiilor care pot sa existe formal pentru un agent sau o comunitate de agenti. Conform lui Gruber, ontologiile sunt adesea echivalate cu ierarhiile taxonomice ale claselor, definitiile claselor si cu relatia de subsumare, insa nu trebuie limitate doar la aceste forme [14].
Cu alte cuvinte, in informatica, „o ontologie este o specificatie explicita a unei conceptualizari”, adica o descriere a unei multimi de concepte si a relatiilor dintre acestea, necesare si suficiente pentru a intelege lumea sau un domeniu de interes.
Atat ontologiile din filosofie cat si cele din informatica au in comun reprezentarea entitatilor, a ideilor si evenimentelor impreuna cu proprietatile lor si relatiile dintre ele, scopul fiind ca modelul creat sa fie cat mai apropiat de domeniul considerat.
O diferenta majora intre cele doua tipuri de ontologii este faptul ca in cadrul filosofiei, Ontologia este una singura și trateaza lumea ca un tot, in timp ce informaticienii captureaza numai o parte a realitatii.
Scopul unei ontologii
De obicei, crearea unei ontologii nu este scopul in sine, ci un pas intermediar, foarte important, pentru rezolvarea unor probleme aparute in dezvoltarea de aplicatii interoperabile.
Conform lui Ying Ding, motivul pentru care ontologiile au devenit atat de importante este lipsa curenta de cunostinte partajate. Acestea sunt utile in semantica si pot si reprezentate in limbaje intelese de calculator, facitiland astfel comunicarea dintre oameni – aplicatii si aplicatii – aplicatii.
In plus, ontologiile au fost solutia pentru rezolvarea problemelor aparute din cauza utilizarii termenilor diferiti pentru acelasi concept sau folosirea acelorasi termeni pentru a referi doua concepte diferite. [Howard Beck si Helena Sofia Pinto] Cu alte cuvinte, ontologiile sunt cheia pentru solutionarea ambiguitatii.
Desi web-ul contine colectii enorme de informatii, acestea sunt dificil de obtinut intrucat motoarele de cautare sunt restrictionate doar la tehnici bazate pe cuvinte cheie. Daca, de exemplu, doua pagini web care contin informatii din accelasi domeniu partajeaza si publica ontologia termenilor folositi, atunci agentii software ar putea interoga si extrage informatii din aceste pagini. Rezultatele obtinute pot fi returnate utilizatorilor sau pot crea baza pentru alte aplicatii.
Un alt avantaj al ontologiilor este faptul ca dupa crearea ei, aceasta poate fi reutilizata fie pentru dezvoltarea programelor de specialitate fie ca punct de plecare pentru dezvoltarea altor ontologii.
T. Davenport evidentiaza scopul principal al ontologiilor: „la fel ca oamenii, nici masinile nu pot comunica daca nu vorbesc o limba comuna”. Astfel ontologiile sunt folosite pentru a obtine interoperabilitatea semantica.
Clasificara ontologiilor conform lui Guarino
In functie de nivelul de abstractizare si de domeniul de aplicabilitate, Guarino diferentiaza patru tipuri de ontologii [3, 45]:
de nivel inalt: descrie concepte foarte generale sau cunostinte comune precum spatiul, timpul, materie, obiect, eveniment, actiune, etc, i.e. concepte independente de un domeniu sau o problema particulara. Este considerata meta-ontologie. Exemplu: Dolce si D&S;
de domeniu: descrie o multime de concepte relevante care descriu un domeniu particular sau o arie de interes (de ex: medicina, inginerie, sau anumite ramuri ale stiintei, etc). Majoritatea ontologiilor publicate sunt de domeniu.
de activitate (task): sunt utilizate pentru a conceptualiza task-uri specifice dintr-un sistem (ex: activitatea de diagnosticare din domeniul medical).
de aplicatie: sunt cele mai specifice ontologii. Acestea descriu instantele conceptelor atat ale unui domeniu cat si ale unei activitati.
Imaginea: Clasificarea ontologiilor conform Guarino
Elementele componente ale unei ontologii
In ultima vreme, ontologiile au fost create pornind de la structuri similare in ceea ce priveste limbajul utilizat. Astfel, componentele de baza ale unei ontologii sunt:
individuali (individuals): sunt instante sau obiecte.
clase: multimi, colectii, concepte, clase din programare, tipuri de obiecte, sau tipuri de lucruri.
atribute: aspecte, proprietati, caracteristici, sau parametri ai obiectelor sau ai claselor
relatii: moduri in care clasele sau individualii relationeaza unii cu altii
conditii generale de functionare: structuri complexe formate din anumite relatii care pot fi utilizate in locul unei clauze individuale intr-o declaratie.
restrictii: descrieri formale a ceea ce trebuie sa fie adevarat pentru ca anumite concluzii sa fie adevarate.
reguli: afirmatii de forma „daca – atunci” (antecedent-consecinta) care descriu concluzii ce pot fi extrase dintr-o afirmatie intr-o forma particulara.
axiome: afirmatii (incluzand reguli) intr-o forma logica care impreuna cuprind toata teoria domeniului de discutie pentru care se creeaza ontologia. Axiomele ontologice difera de axiomele din logica formala. Acolo axiome sunt doar afirmatiile existente inaintea cunostintelor. Aici, axiomele includ si teoria derivata din afirmatii axiomatice.
evenimente: schimbarile atributelor sau ale relatiilor.
Desi exista diferente intre ontologiile create, exista un acord general intre dezvoltatorii de ontologii asupra urmatoarelor afirmatii [3]:
exista entitati in lume;
entitatile au prorpietati sau atribute care pot lua valori;
entitatile pot avea parti;
entitatile pot exista in diferite relatii unele cu altele;
proprietatile si relatiile se pot modifica in timp;
exista evenimente care apar in momente diferite de timp;
exista procese in care entitatile participa si care dureaza o perioada de timp;
lumea si entitatile sale pot exista in stari diferite;
evenimentele pot cauza alte evenimente sau stari ca efecte.
Construirea unei ontologii
Crearea unei ontologii presupune proiectarea unui limbaj de reprezentare a cunostintelor si construirea bazei de cunostinte atasate, activitate care se realizeaza pornind de la una sau mai multe ontologii de nivel inalt.
Conform [3], pentru construirea unei ontologii trebuie parcursi pasii:
determinarea domeniului precum si a razei de actiune ontologiei;
identificarea unor ontologii similar;
identificarea conceptelor esentiale ale ontologiei;
construirea taxonomiei;
definirea relatiilor;
Natalya F. Noy and Deborah L. McGuinness, in [46], au publicat urmatoarele regulo fundamentale pentru construirea unei ontologii:
nu exista un mod correct pentru modelarea unui domeniu – intotdeauna exista multe posibilitati viabile. Cea mai buna solutie depinde de aplicatia in care se doreste a se utiliza ontologia;
dezvoltarea unei ontologii este, intotdeauna, un proces iterativ;
conceptele unei ontologii ar trebui sa fie similare obiectelor (fizice sau logice) si relatiilor din domeniul de interes. Acestea de obicei sunt substantive pentru obiecte si verbe pentru relatii. Numele acestora se extrag din cunostintele care descriu domeniul.
Observatie: Un parametru important care afecteaza natura unei ontologii este daca domeniul sau lumea descrisa este vazuta din perspectiva 3D (endurantist) sau 4D (perdurantist).
Intr-o ontologie 3D, spatiul si timpul sunt tratate separat. Adica entitatile materiale sunt prezente in intregime in fiecare moment al vietii lor, deci nu este nevoie componenta timp, moment sau interval de timp, pentru a fi descrise. Timpul devine o componenta obligatorie pentru a descrie modificarea entitatilor, in sensul ca la momente diferite de timp ele pot avea prioritati diferite [3].
Din contra, o ontologie 4D stabileste ca entitatile sunt numai partial prezentate in fiecare moment de timp si se modifica in mod continuu. Din acest motiv timpul este doar o alta dimensiune pe langa dimensiunile spatiale, si descrierea entitatilor este atemporala [3].
Cateva exemple de ontologii si utilizarea lor in aplicatii
De-a lungul timpului s-au dezvoltat diverse ontologii, dintre care amintim:
COSMO este o ontologie de nivel inalt creata pentru a contine reprezentari ale tuturor conceptelor primitive necesare pentru specificarea logica a intelesurilor entitatilor din orice domeniu. Scopul ei este de a servi ca ontologie de baza pentru traduceri intre alte ontologii sau baze de date. Utilizarea unui set comun de concepte definite va permite iteroperabilitatea exacta a sistemelor bazate pe cunostiinte, prin utilizarea relatiilor logice din ontologiile folosite.
DOLCE este o ontologie formala, de nivel inalt, care defineste concepte din lingvistica, filosofie si logica matematica, domenii care stau la baza limbajului natural si al intelegerii lumii [3]. Ea poate fi utilizata ca baza pentru crearea altor ontologii.
D&S este o ontologie creata initial ca un modul al lui DOLCE, dar care poate fi integrata si individual pentru dezvoltarea altor ontologii. Conform numelui, D&S se bazeaza pe definitia formala a descrierii intelesului conceptelor descriere si situatie [3].
BFO este o ontologie formala de nivel inalt, utilizata ca baza pentru crearea altor ontologii din domeniul stiintific. BFO a fost folosita in special pentru dezvoltarea ontologiilor din domeniul biomedical [21].
AURUM este o ontologie care contine concepte despre securitatea informatiei. Poate servi ca baza pentru managementul riscurilor sistemelor informatice automate [19].
Ontologie a obietelor romane descoperite in Cetatea Tomis: utilizata pentru dezvoltarea aplicatiei de reconstructie a cetatii cu acelasi nume si pentru simularea activitatii de vanzare si descarcare a marfurilor din vasele venite in port [49].
Intrucat ontologiile oferta interoperabilitate intre sisteme, ele pot fi utilizate:
pentru reutilizarea cunostiintelor de domeniu;
in aplicatii de intreprindere. Un exemplu concret este SAPPHIRE, un sistem informatic pentru sanatate bazat de semantica, capabil sa urmareasca, sa colecteze date pentru a evalua situatii si evenimente care pot afecta sanatatea publica. A fost dezvoltat in 2004 la University of Texas Health Science Center din Houston, si foloseste tehnologii precum RDF si OWL.
in sistemele informatice geografice primesc date din diferite surse si utilizand avantajele ontologiilor coreleaza datele de intrare din punct de vedere semantic.
in aplicatii bazate pe sisteme multiagenti; ontologia va reprezenta baza de cunostiinte a unui agent „inteligent”.
Ontologie a obiectelor romane gasite in Cetatea Tomis
Conform [49] ontologia de domeniu a obiectelor romane gasite in Cetatea Tomis a fost creata in Proteje utilizand ontologiile DOLCE sis D&S, si testata cu sistemul de rationare RacerPro.
Aceasta ontologie a fost utilizata si pentru crearea aplicatiei de realitate virtuala de reconstructie a Cetatii Tomis, aplicatie bazata de asemenea pe un sistem multiagenti.
Ontologia cuprinde concepte ce refera obiectele utilizate de stramosii nostri (vase de baut, vase de pastrare), animale, parti ale corpului uman, roluri ale oamenilor in societatea vremii, constructii, etc.
Imaginile de mai jos cuprind conceptele despre constructii (fig 1) respectiv roluri (fig 2). Unele dintre aceste roluri sunt utilizate in simularea activitatii de vanzare si descarcare a marfurilor.
//TODO: de verificat rolurile
Utilizarea modelelor semantice precum o ontologie / un tezaur / o taxonomie intr-o aplicatie, asigura interoperabilitatea semantica a acesteia. In aplicatia de simulare a activitatii de vanzare si descarcare a marfurilor ajuse in portul Tomis se foloseste ontologia Cetatii Tomisului, asigurandu-se astfel interoperabilitatea aplicatiei, din punct de vedere semantic.
Bibliografie:
D. M. Popovici, C. M. Bogdan, A. Rusu, O. Chelai si A. Nicola. „Medii virtuale multimodale distribuite”, vol 1, Ed Universitaria – Craiova si Ed Prouniversitaria – Bucuresti, 2014;
D. M. Popovici, C. Mancas, C. M. Bogdan si E. Zaharescu. „Medii virtuale multimodale distribuite”, vol 2, Ed Universitaria – Craiova si Ed Prouniversitaria – Bucuresti, 2014;
D. M. Popovici, E. Zaharescu, A. Rusu, C. M. Bogdan, D. Sburlan. „Medii virtuale multimodale distribuite”, vol 3, Ed Universitaria – Craiova si Ed Prouniversitaria – Bucuresti, 2015;
F. Ionescu. „Grafica in Realitatea Virtuala”, Ed Tehnica, 2000.
H. Fuchs si G. Bishop et all „Research directions in virtual environments”, NFS Invitational Workshop, Univ. North Carolina, 1992.
M. Gigante „Virtual reality: Definitions, history and applications”, Virtual Reality Systems, pages 3-14, 1993
C. Cruz-Neira „Virtual reality overview”, SIGGRAPH’93 Course 23, pages 1.1-1.18, 1993
Michael R. Heim, „The Metaphysics of Virtual Reality”, Oxford University Press, Inc. New York, NY, USA ©1993.
G. C. Burdea, P. Coiffet, „Virtual Reality Technology”, Wiley-IEEE Press, 2003.
Aplicatia Tomis
L. Qvortrup, „Virtual Interaction: Interaction in Virtual Inhabited 3D Worlds”, Springer, 2001
O. Shehory si A. Sturm, „Evaluation of modeling techniques for agents=based systems”, Proceedings of the fifth international conference on Autonomous agents, pages 624-631, ACM Press, 2001.
M. Maes, „Artificial life meets entertainment: lifelike autonomous agents”, American Psychologist, 50(5):372-385, 1995.
Thomas R Gruber, "A translation approach to portable ontology specifications", Knowledge Acquisition, 5 (2): 199–220, 1993
Y. Damazeau, „From interactions to collective behaviour in agent-based systems”, Proceeding of the European Conference on Cognitive Science, pages 117-132, 1995.
J. Tisseau si B. Arnaldi, „Réalité virtuelle: une réflexion épistémologique”, Technique et science informatiques, 1:1-43, 2001.
S. Russel si P. Norvig, „Artificial Intelligence – A modern Approach”, Pretince Hall, 1995.
D.M. Popovici, „O incursiune in mediile virtuale 3D”, Ed Muntenia, Constanta, 2007.
A. Ekelhart, S. Fenz, T. Neubauer, „Aurum: A Framework for Information Security Risk Management”, Proceedings of the 42nd Hawaii International Conference on System Sciences, 2009.
http://www.tetcos.com/ – ultima accesare: mai 2017.
http://basic-formal-ontology.org/ – ultima accesare: mai 2017.
J. Ferber, „Les systèmes multi-agents: un apercu general”, Technique et science informatique, 16(8):979-1012, 1997.
N. Guarino. Formal ontology and information systems. In Proceedings of FOIS98, 6-8 June, Trento, Italy, 1998. Amsterdam, IOS Press.
M.L.Heiling. „El cine del futuro: The cinema of the future”. Presence, 1992
C. Elliott, „The Affective Reasoner: A process model of emotions in a multi-agent system”, PhD thesis, Northwestern University, Evanston, Illlinois, 1992.
O. Gutknecht si J. Ferber, „Vers une méthodologie organisationell de conception de systèmes multi-agents”, In JFIADSMA’99, pages 93-104, 1999.
R. Querrec, „Les Systèmes Multi-Agents pour les Environnements Virtuels de Formation: Application à la sécurité civile”, PHD thesis, Université de Bretagne Occidentale, Brest, 2002.
M. Wooldrige si N. R. Lennings, „Intelligents agents: Theory and practice”, The Knowledge Engineering Review, 10(2):115-152, 1995.
http://www.opensourcephysics.org/ – ultima accesare: mai 2017.
https://globalchangeaward.com/ – ultima accesare: mai 2017.
https://vr.google.com/cardboard/ – ultima accesare: mai 2017.
http://www.webopedia.com/TERM – ultima accesare: mai 2017.
https://reacting.barnard.edu/ – ultima accesare: mai 2017.
https://www.oculus.com/ – ultima accesare: mai 2017.
https://www.vendetta-online.com/ – ultima accesare: mai 2017.
http://schedule.sxsw.com/2016/2016/events/event_PP58293 – ultima accesare: mai 2017.
Virtuality: https://www.youtube.com/watch?v=-QiKnHxX7CY – ultima accesare: mai 2017.
http://www.wisegeek.com/ – ultima accesare: mai 2017.
http://www.wired.co.uk/article/sony-project-morpheus-now-playstation-vr – ultima accesare: mai 2017.
https://www.apple.com/ – ultima accesare: mai 2017.
https://www.lindenlab.com/ – ultima accesare: mai 2017.
http://secondlife.com/ – ultima accesare: mai 2017.
http://www.scritub.com/sociologie/psihologie/PERCEPTIILE35352.php – ultima accesare: mai 2017.
M. R. Genesereth, N. J. Nilsson, “Logical Foundations of Artificial Intelligence”, Morgan Kaufmann Publishers, 1988.
https://www.google.ro/intl/ro/streetview/ – ultima accesare: mai 2017.
http://protege.stanford.edu/publications/ontology_development/ontology101-noy-mcguinness.html – ultima accesare: mai 2017.
http://benayoun.com/z_a/indexza.en.html – ultima accesare: mai 2017.
„Information Technology Vocabulary”, Fundamental Terms, ISO/IEC 2382-01.
C. M. Bogdan, „Domain Ontology of the roman found in the Tomis”, Cluj-Napoca, July 2-4, 2009.
http://www.mortonheilig.com/InventorVR.html – ultima accesare: mai 2017.
I. E. Sutherland, „A head-mounted three dimensional display”, The University of Utah, Salt Lake City, Utah, Pages 757 – 764, 1968.
http://www.naimark.net/projects/aspen.html – ultima accesare: mai 2017.
https://www.vrs.org.uk/virtual-reality/who-coined-the-term.html – ultima accesare: mai 2017.
http://segaretro.org/Sega_VR – ultima accesare: mai 2017.
C. Cruz-Neira, D. J. Sandin, T. A. DeFanti, R. V. Kenyon, J. C, Hart, "The CAVE: Audio Visual Experience Automatic Virtual Environment", ACM New York, USA, Pages 64-72, 1992.
CHAI3D – www.chai3d.org
Anexa 1 – CHAI3D
Anexa 2 – Limbaje pentru crearea ontologiilor: OWL si RDF
In functie de scopul construirii unei ontologii, exista mai multe metode de constructie si de limbaje precum RDF si OWL.
Limbajul RDF (Resource Description Framework)
RDF este un standard publicat de W3C si ofera mediul necesar descrierii resurselor web. RDF poate fi folosit pentru reprezentarea resurselor (informatii, cunostinte, etc) necesare in aplicatii.
Standardul se bazeaza pe sintaxa XML. Elementul de baza al unui document RDF este tripletul. Un triplet este o propozitie care are un subiect, un predicat, si un obiect (proprietate). Subiectul si predicatul sunt resurse identificate prin adrese URI, iar obiectul poate fi o resursa sau o valoare efectiva.
Conceptele vocabularului RDF sunt [3]:
Termeni sintactici: rdf:RDF, rdf:Description, rdf:ID, rdf:about, rdf:parseType, rdf:resourse, rdf:li, rdf:nodeID, rdf:dataType;
Nume de clase: rdf:Seq, rdf:Alt, rdf:Bag, rdf:Statement, rdf:Property, rdf:XMLLiteral, rdf:List;
Nume de proprietati: rdf:subject, rdf:predicate, rdf:object, rdf:type, rdf:value, rdf:first, rdf:_n, unde n este un numar intreg strict pozitiv;
Nume de resurse: rdf:nil.
Limbajul OWL (Web Ontology Language)
OWL este un limbaj conceput de W3C pentru a defini ontologii. OWL extinde RDF, permițând folosirea unor instrumente de inferență pe datele din ontologie. Similar lui RDF, OWL furnizeaza un vocabular bazat pe XML pentru definirea claselor, a proprietatilor si a relatiilor dintre ele.
Are trei sub-limbaje distincte OWL Lite, OWL DL si OWL Full ce diferă prin ceea ce pot exprima.
Imaginea: Sublimbajele lui OWL [3] (OWL.jpg)
OWL Lite
suportă restricții de cardinalitate (0 sau 1). Specifică numărul de proprietăți de un anumit tip pe care le poate avea o clasă;
suporta restricții de tip „AllValuesFrom” si „SomeValuesFrom”. Specifica faptul ca unele sau toate valorile proprietății pe care se aplică restricția au tipul specificat;
se poate specifica faptul că unele clase și proprietăți sunt echivalente cu alte clase și proprietăți, ceea ce poate fi foarte util pentru a arăta că unele concepte cu nume diferite din ontologii diferite reprezintă de fapt același lucru;
se poate specifica dacă o proprietate este funcțională, simetrică, tranzitivă sau inversă.
OWL DL
DL este acronim pentru Description Logic;
este un limbaj mai avansat, bazat pe un subset decidabil al logicii cu predicate.
permite definirea unor relații intre clase precum disjuncția;
permite definirea de clase prin reuniune, diferență si intersecție de alte clase.
permite și definirea unor restricții de cardinalitate mai avansate: se poate utiliza orice numar nenegativ.
au fost create motoare de rationament pentru a verifica consistenta modelului. Exemplu: Racer (Racer 2007), Fact++ (Fact 2007), Kaon2 (Kaon 2007) sau Pellet (Pellet 2007).
cele mai multe aplicații si instrumente de dezvoltare sunt construite pentru OWL DL.
OWL Full
este cel mai complex;
permite definirea mai multor tipuri de constrângeri decât OWL DL dar fără a oferi garanții computaționale.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Simularea unei activități [301947] (ID: 301947)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
