OPS5




OPS5 este un limbaj de calculator bazat pe reguli sau de producție, notabil ca fiind primul astfel de limbaj care a fost utilizat într-un sistem de experți de succes, sistemul R1/XCON utilizat pentru configurarea computerelor VAX.

Familia OPS (se spune că este scurtă pentru „Sistemul oficial de producție”) a fost dezvoltată la sfârșitul anilor ‘70 de Charles Forgy, în timp ce se afla la Universitatea Carnegie Mellon.

Grupul de cercetare al lui Allen Newell în inteligența artificială a lucrat la sisteme de producție de ceva timp, dar implementarea lui Forgy, bazată pe algoritmul său de rete, a fost deosebit de eficientă, suficient de eficientă, astfel încât a fost posibilă să se extindă până la probleme mai mari care implică sute sau mii de reguli.

OPS5 folosește un motor de inferență înlănțuit înainte; Programele se execută prin scanarea „elementelor de memorie de lucru” (care sunt vag ca obiect, cu clase și atribute) în căutarea meciurilor cu regulile din „memoria de producție”.

Regulile au acțiuni care pot modifica sau elimina elementul potrivit, creează altele noi, pot efectua efecte secundare, cum ar fi ieșirea, etc.

Execuția continuă până nu se pot găsi mai multe meciuri.

În acest sens, OPS5 este un motor de execuție pentru o net Petri extinsă cu arcuri inhibitoare.

Procesul de înlănțuire înainte Ops5 îl face extrem de paralelizabil în faza de potrivire și au fost create mai multe compilatoare paralelizante automate.

OPS4 a fost o versiune timpurie, în timp ce OPS83 a venit mai târziu.

Prima implementare a OPS5 a fost scrisă în Lisp, iar ulterior rescrisă în Bliss for Speed.

DEC OPS5 este o implementare extinsă a definiției limbajului Ops5, dezvoltată pentru utilizarea cu sistemele de operare OpenVMS, RISC Ultrix și DEC OSF/1.