กลับไปหน้าบทความ

อ่าน 3 นาที

เจส (ภาษาโปรแกรม)

Jessเป็นเอนจินกฎสำหรับแพลตฟอร์มการประมวลผลJava ซึ่งเขียนด้วยภาษาการเขียนโปรแกรมJavaได้รับการพัฒนาโดยErnest Friedman-HillจากSandia National Laboratories เป็นซูเปอร์เซ็ตของภาษาCLIPS.

เจส (ภาษาโปรแกรม)

เจส
นักพัฒนาห้องปฏิบัติการแห่งชาติแซนเดีย
ปล่อยพ.ศ. 2538 ( 1995 )
เวอร์ชันเสถียร
7.1p2 / 5 พฤศจิกายน 2551 ( 5 พฤศจิกายน 2008 )
เขียนเป็นชวา
แพลตฟอร์มชวา
ใบอนุญาตกรรมสิทธิ์ , สาธารณสมบัติ

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 )

ดูเพิ่มเติม

  • "Jess เครื่องมือสร้างกฎสำหรับแพลตฟอร์ม Java"เก็บถาวรจากต้นฉบับเมื่อวันที่ 29 ธันวาคม 2011
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Jess_(programming_language)&oldid=1351473280 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เจส (ภาษาโปรแกรม)

Jessเป็นเอนจินกฎสำหรับแพลตฟอร์มการประมวลผลJava ซึ่งเขียนด้วยภาษาการเขียนโปรแกรมJavaได้รับการพัฒนาโดยErnest Friedman-HillจากSandia National Laboratories เป็นซูเปอร์เซ็ตของภาษาCLIPS.

ใบอนุญาต

โปรแกรมJess อนุญาตให้ใช้ งาน ได้ฟรี สำหรับภาคการศึกษาและภาครัฐ แต่เป็น ซอฟต์แวร์กรรมสิทธิ์ ที่ต้องมีใบอนุญาตสำหรับการใช้งานเชิงพาณิชย์ ในทางตรงกันข้าม CLIPS ซึ่งเป็นพื้นฐานและรหัสเริ่มต้นของ Jess เป็น ซอฟต์แวร์โอเพนซอร์สและ ใช้ งานได้ฟรี

ดูเพิ่มเติม

ตัวให้เหตุผลเชิงความหมาย แบบจำลองการตัดสินใจและสัญลักษณ์

ระบบที่เกี่ยวข้อง

CLIPS : ซอฟต์แวร์โอเพนซอร์ส สำหรับสร้างระบบผู้เชี่ยวชาญ กฎ ILOG : ระบบจัดการกฎทางธุรกิจ JBoss Drools : ระบบจัดการกฎทางธุรกิจ (BRMS) Prolog : ภาษาโปรแกรมเชิงตรรกะอเนกประสงค์ OpenL Tablets : กฎเกณฑ์ที่เน้นธุรกิจและระบบจัดการความสัมพันธ์ทางธุรกิจ (BRMS) DTRules:...