อ่าน 3 นาที
เจส (ภาษาโปรแกรม)
Jessเป็นเอนจินกฎสำหรับแพลตฟอร์มการประมวลผลJava ซึ่งเขียนด้วยภาษาการเขียนโปรแกรมJavaได้รับการพัฒนาโดยErnest Friedman-HillจากSandia National Laboratories เป็นซูเปอร์เซ็ตของภาษาCLIPS.
เจส (ภาษาโปรแกรม)
| เจส | |
|---|---|
| นักพัฒนา | ห้องปฏิบัติการแห่งชาติแซนเดีย |
| ปล่อย | พ.ศ. 2538 |
| เวอร์ชันเสถียร | 7.1p2 / 5 พฤศจิกายน 2551 |
| เขียนเป็น | ชวา |
| แพลตฟอร์ม | ชวา |
| ใบอนุญาต | กรรมสิทธิ์ , สาธารณสมบัติ |
Jessเป็นเอนจินกฎสำหรับแพลตฟอร์มการประมวลผลJava ซึ่งเขียนด้วยภาษาการเขียนโปรแกรมJavaได้รับการพัฒนาโดยErnest Friedman-HillจากSandia National Laboratories [ 1 ] เป็นซูเปอร์เซ็ตของภาษาCLIPS [ 1 ]เขียนขึ้นครั้งแรกในช่วงปลายปี 1995 [ 1 ]ภาษานี้ให้การเขียนโปรแกรมตามกฎสำหรับการทำงานอัตโนมัติของระบบผู้เชี่ยวชาญและมักถูกเรียกว่าเปลือกของระบบผู้เชี่ยวชาญ[ 1 ]ในช่วงไม่กี่ปีที่ผ่านมา ระบบ เอเจนต์อัจฉริยะ ก็ได้รับการพัฒนาขึ้น เช่นกัน ซึ่งอาศัยความสามารถที่คล้ายคลึงกัน
แทนที่จะใช้แบบแผนเชิงกระบวนการซึ่งโปรแกรมหนึ่งมีลูปที่ถูกเรียกใช้เพียงครั้งเดียวแบบแผนเชิงประกาศที่ Jess ใช้จะใช้ชุดกฎกับชุดข้อเท็จจริงอย่างต่อเนื่องโดยกระบวนการที่เรียกว่าการจับคู่รูปแบบกฎสามารถแก้ไขชุดข้อเท็จจริง หรือสามารถเรียกใช้โค้ด Java ใดๆ ก็ได้ โดยใช้อัลกอริทึม Rete [ 1 ]ในการเรียกใช้กฎ
ใบอนุญาต
โปรแกรมJess อนุญาตให้ใช้ งาน ได้ฟรีสำหรับภาคการศึกษาและภาครัฐ แต่เป็นซอฟต์แวร์กรรมสิทธิ์ที่ต้องมีใบอนุญาตสำหรับการใช้งานเชิงพาณิชย์ ในทางตรงกันข้าม CLIPS ซึ่งเป็นพื้นฐานและรหัสเริ่มต้นของ Jess เป็น ซอฟต์แวร์โอเพนซอร์สและ ใช้ งานได้ฟรี
ตัวอย่างโค้ด
ตัวอย่างโค้ด:
; คือความคิดเห็น( ผูก?x 100 ); x = 100( deffunction max ( ?a ?b ) ( if ( > ?a ?b ) then ?a else ?b ))( กำจัดสิ่งของในห้องของฉัน( เก้าอี้เฟอร์นิเจอร์) ( โต๊ะเฟอร์นิเจอร์) ( เตียงเฟอร์นิเจอร์) )( deftemplate car ( slot color ) ( slot mileage ) ( slot value ) )( assert ( car ( color red ) ( mileage 10000 ) ( value 400 )))ตัวอย่างโค้ด:
( clear ) ( deftemplate blood-donor ( slot name ) ( slot type )) ( deffacts blood-bank ; put names & their types into [[working memory]] ( blood-donor ( name "Alice" )( type "A" )) ( blood-donor ( name "Agatha" )( type "A" )) ( blood-donor ( name "Bob" )( type "B" )) ( blood-donor ( name "Barbara" )( type "B" )) ( blood-donor ( name "Jess" )( type "AB" )) ( blood-donor ( name "Karen" )( type "AB" )) ( blood-donor ( name "Onan" )( type "O" )) ( blood-donor ( name "Osbert" )( type "O" )) ) ( defrule can-give-to-same-type-but-not-self ; handles A > A, B > B, O > O, AB > AB แต่ไม่ใช่ N1 > N1 ( ผู้บริจาคโลหิต( ชื่อ?ชื่อ)( ประเภท?ประเภท)) ( ผู้บริจาคโลหิต( ชื่อ?ชื่อ2 )( ประเภท?ประเภท2 &: ( เท่ากับ?ประเภท?ประเภท2 ) &: ( ไม่เท่ากับ?ชื่อ?ชื่อ2 ) )) => ( พิมพ์? ชื่อ" สามารถบริจาคโลหิตให้ " ?ชื่อ2 crlf ) ) ( กฎO-ให้-แก่-ผู้อื่น-แต่ไม่-ให้-ตัวเอง; O ถึง O ครอบคลุมในกฎข้างต้น( ผู้บริจาคโลหิต( ชื่อ?ชื่อ)( ประเภท?ประเภท&:( eq ?type "O" ))) ( ผู้บริจาคโลหิต( ชื่อ?name2 )( ประเภท?type2 &: ( neq ?type ?type2 )&: ( neq ?name ?name2 ) )) => ( printout t ?name " สามารถบริจาคเลือดให้ " ?name2 crlf ) ) ( defrule A-or-B-gives-to-AB ; กรณี O บริจาคให้ AB และ AB บริจาคให้ AB ได้รับการจัดการแล้ว( ผู้บริจาคเลือด( name ?name )( type ?type &: ( or ( eq ?type "A" ) ( eq ?type "B" )))) ( ผู้บริจาคเลือด( name ?name2 )( type ?type2 &: ( eq ?type2 "AB" ) &: ( neq ?name ?name2 ) )) => ( printout t ?name " สามารถบริจาคเลือดให้ " ?name2 crlf ) ) ;(watch all) ( reset ) ( run )ดูเพิ่มเติม
ระบบที่เกี่ยวข้อง
- CLIPS : ซอฟต์แวร์โอเพนซอร์สสำหรับสร้างระบบผู้เชี่ยวชาญ
- กฎ ILOG : ระบบจัดการกฎทางธุรกิจ
- JBoss Drools : ระบบจัดการกฎทางธุรกิจ (BRMS)
- Prolog : ภาษาโปรแกรมเชิงตรรกะอเนกประสงค์
- OpenL Tablets : กฎเกณฑ์ที่เน้นธุรกิจและระบบจัดการความสัมพันธ์ทางธุรกิจ (BRMS)
- DTRules: เครื่องมือสร้างกฎแบบโอเพนซอร์สสำหรับ Java ที่ใช้ตารางการตัดสินใจ เป็นพื้นฐาน
ลิงก์ภายนอก
- "Jess เครื่องมือสร้างกฎสำหรับแพลตฟอร์ม Java"เก็บถาวรจากต้นฉบับเมื่อวันที่ 29 ธันวาคม 2011
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เจส (ภาษาโปรแกรม)
Jessเป็นเอนจินกฎสำหรับแพลตฟอร์มการประมวลผลJava ซึ่งเขียนด้วยภาษาการเขียนโปรแกรมJavaได้รับการพัฒนาโดยErnest Friedman-HillจากSandia National Laboratories เป็นซูเปอร์เซ็ตของภาษาCLIPS.
ใบอนุญาต
โปรแกรมJess อนุญาตให้ใช้ งาน ได้ฟรี สำหรับภาคการศึกษาและภาครัฐ แต่เป็น ซอฟต์แวร์กรรมสิทธิ์ ที่ต้องมีใบอนุญาตสำหรับการใช้งานเชิงพาณิชย์ ในทางตรงกันข้าม CLIPS ซึ่งเป็นพื้นฐานและรหัสเริ่มต้นของ Jess เป็น ซอฟต์แวร์โอเพนซอร์สและ ใช้ งานได้ฟรี
ดูเพิ่มเติม
ตัวให้เหตุผลเชิงความหมาย แบบจำลองการตัดสินใจและสัญลักษณ์
ระบบที่เกี่ยวข้อง
CLIPS : ซอฟต์แวร์โอเพนซอร์ส สำหรับสร้างระบบผู้เชี่ยวชาญ กฎ ILOG : ระบบจัดการกฎทางธุรกิจ JBoss Drools : ระบบจัดการกฎทางธุรกิจ (BRMS) Prolog : ภาษาโปรแกรมเชิงตรรกะอเนกประสงค์ OpenL Tablets : กฎเกณฑ์ที่เน้นธุรกิจและระบบจัดการความสัมพันธ์ทางธุรกิจ (BRMS) DTRules:...