CLIPS
| CLIPS | ||||
|---|---|---|---|---|
| Ontwerp en ontwikkeling | ||||
| Categorie | Expertsysteem | |||
| Ontwikkelaar(s) | Lyndon B. Johnson Space Center | |||
| Besturingssysteem | Multiplatform | |||
| Geschreven in | C | |||
| Status en tijdlijn | ||||
| Uitgebracht | 1985 (40 jaar) | |||
| Recentste versie | 6.4.1 (21 april 2023)[1] | |||
| Onderdelen | ||||
| Maakt gebruik van | Rete-algoritme | |||
| Licentie(s) | Publiek domein | |||
| Links | ||||
| Website | (en) Projectpagina | |||
| Versiebeheer | Broncode | |||
| ||||
CLIPS is publicdomainsoftware voor het ontwikkelen van expertsystemen. CLIPS is een acroniem voor C Language Integrated Production System. De ontwikkeling van CLIPS begon in 1985 op het Lyndon B. Johnson Space Center van de NASA.
Overzicht
CLIPS is geschreven in C en het kan geïntegreerd worden in bestaande applicaties. De syntaxis van CLIPS lijkt op die van Lisp. In CLIPS wordt, zoals in andere expertsystemen, gebruikgemaakt van een verzameling feiten en regels. Deze regels geven aan welke nieuwe feiten geconcludeerd kunnen worden als aan bepaalde premissen is voldaan (dit is de manier waarop CLIPS functioneert; ter vergelijking, in Prolog begint een redenatie bij de conclusie om zo terug te redeneren naar de bekende feiten). CLIPS maakt gebruik van het Rete-algoritme om regels toe te passen en de feitenverzameling uit te breiden.
De eerste prototypeversie werd ontwikkeld in 1985. De eerste naam van het project was NAIL (NASA's AI Language).
Werking
Een expertsysteem in CLIPS bestaat uit feiten en afleidingsregels. CLIPS maakt gebruik van bottom-up inferentie voor het afleiden van nieuwe feiten. Een afleidingsregel wordt toegepast als aan de premissen van de regel voldaan is (dit is het geval als er feiten zijn die overeenkomen met die premissen). Een afleidingsregel in CLIPS heeft de volgende vorm:
(defrule naam-van-regel
(voorwaarde1)
(voorwaarde2)
...
=>
(actie1)
(actie2)
...
)
Bijvoorbeeld:
(defrule voorbeeld-regel
(voorwaarde1 ?var1)
(voorwaarde2 ?var2 ?var3)
=>
(printout t "Regel toegepast" crlf)
)
Voor de => staan de premissen van de regel en erna staan de acties die gedaan moeten worden als de regel wordt toegepast (in dit geval het weergeven van een tekst maar in het gangbare geval kunnen nieuwe feiten toegevoegd of teruggetrokken worden met assert en retract). De premissen kunnen bepaalde variabelen hebben, deze worden aangeduid met een vraagteken. CLIPS controleert of er een geldige toekenning van waarden aan deze variabelen is zodanig dat er aan de premissen voldaan wordt. De waarde van een variabele kan in de rest van de regel gebruikt worden.
Salience
Het kan zijn dat er meerdere regels zijn waarbij aan de premissen voldaan is. In dit geval dient er een keuze gemaakt te worden welke regel toegepast wordt. Het is om deze reden mogelijk om salience toe te kennen aan een regel wat de prioriteit van een regel aanduidt: regels met een hogere salience gaan voor regels met een lagere salience:
(defrule regel-A
(declare (salience 20))
(voorwaarde1 ?var1)
(voorwaarde2 ?var2 ?var3)
=>
(printout t "Regel A toegepast" crlf)
)
(defrule regel-B
(declare (salience 10))
(voorwaarde1 ?var1)
(voorwaarde2 ?var2 ?var3)
=>
(printout t "Regel B toegepast" crlf)
)
Door de salience gaat regel A voor regel B.
Zie ook
Externe links
- (en) Projectpagina
- (en) CLIPS, SourceForge.net
- (en) CLIPS, Geschiedenis en informatie
- ↑ "Download Latest Version clips_windows_projects_641.zip (1.6 MB)"; geraadpleegd op: 24 augustus 2023; datum van uitgave: 21 april 2023.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.