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

อ่าน 7 นาที

พีชคณิตคอมพิวเตอร์

ใน คณิตศาสตร์ และ วิทยาศาสตร์คอมพิวเตอร์ [ 1 ] พีชคณิต คอมพิวเตอร์ หรือที่เรียกว่า การคำนวณเชิงสัญลักษณ์ หรือ การคำนวณเชิงพีชคณิต เป็นสาขาวิทยาศาสตร์ที่หมายถึงการศึกษาและการพัฒนา...

พีชคณิตคอมพิวเตอร์

การอินทิเกรตเชิงสัญลักษณ์ของฟังก์ชันพีชคณิตf ( x ) = x/x 4 + 10 x 2 − 96 x − 71โดยใช้ระบบพีชคณิตคอมพิวเตอร์ Axiom

ในคณิตศาสตร์และวิทยาศาสตร์คอมพิวเตอร์ [ 1 ] พีชคณิตคอมพิวเตอร์หรือที่เรียกว่าการคำนวณเชิงสัญลักษณ์หรือการคำนวณเชิงพีชคณิตเป็นสาขาวิทยาศาสตร์ที่หมายถึงการศึกษาและการพัฒนาอัลกอริทึมและซอฟต์แวร์สำหรับการจัดการนิพจน์ทางคณิตศาสตร์และวัตถุทางคณิตศาสตร์ อื่นๆ แม้ว่าพีชคณิตคอมพิวเตอร์อาจถือได้ว่าเป็นสาขาย่อยของการคำนวณทางวิทยาศาสตร์แต่โดยทั่วไปแล้วถือว่าเป็นสาขาที่แตกต่างกัน เนื่องจากโดยทั่วไปแล้วการคำนวณทางวิทยาศาสตร์จะขึ้นอยู่กับการคำนวณเชิงตัวเลขด้วยตัวเลขจุดลอยตัว โดยประมาณ ในขณะที่การคำนวณเชิงสัญลักษณ์เน้น การคำนวณ ที่แม่นยำด้วยนิพจน์ที่มีตัวแปรที่ไม่มีค่าที่กำหนดและถูกจัดการเป็นสัญลักษณ์

โปรแกรม คอมพิวเตอร์ที่ทำการคำนวณเชิงสัญลักษณ์เรียกว่าระบบพีชคณิตคอมพิวเตอร์โดยคำว่าระบบนั้นหมายถึงความซับซ้อนของโปรแกรมหลัก ซึ่งอย่างน้อยที่สุดประกอบด้วย วิธีการแสดงข้อมูลทางคณิตศาสตร์ในคอมพิวเตอร์ภาษาโปรแกรม สำหรับผู้ใช้ (โดยปกติจะแตกต่างจากภาษาที่ใช้ในการพัฒนาโปรแกรม) ตัวจัดการหน่วยความจำเฉพาะ ส่วนติดต่อผู้ใช้สำหรับการป้อน/แสดงผลนิพจน์ทางคณิตศาสตร์ และชุดรูทีน จำนวนมาก เพื่อดำเนินการต่างๆ เช่น การลดรูปนิพจน์ การหาอนุพันธ์โดยใช้กฎลูกโซ่การแยกตัวประกอบพหุนาม การอิน ทิเกรต แบบไม่จำกัดเป็นต้น

พีชคณิตคอมพิวเตอร์ถูกนำมาใช้กันอย่างแพร่หลายในการทดลองทางคณิตศาสตร์และการออกแบบสูตรที่ใช้ในโปรแกรมเชิงตัวเลข นอกจากนี้ยังใช้สำหรับการคำนวณทางวิทยาศาสตร์อย่างสมบูรณ์ เมื่อวิธีการเชิงตัวเลขอย่างเดียวไม่สามารถทำได้ เช่น ในการเข้ารหัสแบบกุญแจสาธารณะหรือสำหรับปัญหา ที่ไม่เป็นเชิงเส้น บางอย่าง

ศัพท์เฉพาะ

ผู้เขียนบางคนแยกความแตกต่าง ระหว่าง พีชคณิตคอมพิวเตอร์กับการคำนวณเชิงสัญลักษณ์โดยใช้ชื่อหลังเพื่ออ้างถึงการคำนวณเชิงสัญลักษณ์ประเภทอื่นนอกเหนือจากการคำนวณด้วยสูตร ทางคณิตศาสตร์ ผู้เขียนบางคนใช้การคำนวณเชิงสัญลักษณ์สำหรับแง่มุมของวิทยาการคอมพิวเตอร์และพีชคณิตคอมพิวเตอร์สำหรับแง่มุมทางคณิตศาสตร์[ 2 ]ในบางภาษา ชื่อของสาขานี้ไม่ได้เป็นการแปลโดยตรงจากชื่อภาษาอังกฤษ โดยทั่วไปแล้ว ในภาษาฝรั่งเศสเรียกว่าcalcul formelซึ่งหมายถึง "การคำนวณเชิงรูปธรรม" ชื่อนี้สะท้อนถึงความสัมพันธ์ของสาขานี้กับวิธีการเชิงรูปธรรม

ในอดีต การคำนวณเชิงสัญลักษณ์ถูกเรียกอีกชื่อหนึ่งว่าการจัดการเชิงสัญลักษณ์การจัดการเชิงพีชคณิตการประมวลผลเชิงสัญลักษณ์คณิตศาสตร์เชิงสัญลักษณ์หรือพีชคณิตเชิงสัญลักษณ์แต่คำเหล่านี้ ซึ่งหมายถึงการจัดการที่ไม่ใช่การคำนวณเช่นกัน ไม่ได้ถูกนำมาใช้ในการอ้างอิงถึงพีชคณิตคอมพิวเตอร์อีกต่อไป

ชุมชนวิทยาศาสตร์

ไม่มีสมาคมวิชาการ ใด ที่เฉพาะเจาะจงกับพีชคณิตคอมพิวเตอร์ แต่หน้าที่นี้ได้รับมอบหมายจากกลุ่มความสนใจพิเศษของสมาคมเครื่องจักรคำนวณที่ชื่อว่าSIGSAM (Special Interest Group on Symbolic and Algebraic Manipulation) [ 3 ]

มีการประชุมประจำปีหลายครั้งเกี่ยวกับพีชคณิตคอมพิวเตอร์ โดยการประชุมที่สำคัญที่สุดคือISSAC (International Symposium on Symbolic and Algebraic Computation) ซึ่งได้รับการสนับสนุนโดย SIGSAM เป็นประจำ[ 4 ]

มีวารสารหลายฉบับที่เชี่ยวชาญด้านพีชคณิตคอมพิวเตอร์ โดยวารสารชั้นนำคือJournal of Symbolic Computationซึ่งก่อตั้งขึ้นในปี 1985 โดยBruno Buchberger [ 5 ] นอกจากนี้ยังมีวารสารอื่นๆ อีกหลายฉบับที่ตีพิมพ์บทความเกี่ยวกับพีชคณิตคอมพิวเตอร์เป็นประจำ[ 6 ]

แง่มุมของวิทยาการคอมพิวเตอร์

การนำเสนอข้อมูล

เนื่องจากซอฟต์แวร์เชิงตัวเลขมีประสิทธิภาพสูงสำหรับการคำนวณเชิงตัวเลข โดยประมาณ จึงเป็นเรื่องปกติในพีชคณิตคอมพิวเตอร์ที่จะเน้น การคำนวณ ที่แม่นยำด้วยข้อมูลที่แสดงอย่างแม่นยำ การแสดงข้อมูลที่แม่นยำดังกล่าวหมายความว่า แม้ว่าขนาดของผลลัพธ์จะเล็ก แต่ข้อมูลระดับกลางที่สร้างขึ้นระหว่างการคำนวณอาจเพิ่มขึ้นอย่างไม่สามารถคาดเดาได้ พฤติกรรมนี้เรียกว่าการขยายตัวของนิพจน์[ 7 ]เพื่อบรรเทาปัญหานี้ จึงมีการใช้วิธีการต่างๆ ในการแสดงข้อมูล รวมถึงในอัลกอริธึมที่จัดการข้อมูลเหล่านั้น[ 8 ]

ตัวเลข

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

การเขียนโปรแกรมการใช้งานการดำเนินการทางคณิตศาสตร์ที่มีประสิทธิภาพเป็นงานที่ยาก ดังนั้นระบบพีชคณิตคอมพิวเตอร์ ฟรีส่วนใหญ่ และระบบเชิงพาณิชย์บางระบบ เช่นMathematicaและMaple [ 10 ] [ 11 ]จึงใช้ไลบรารี GMPซึ่งถือเป็นมาตรฐาน โดยพฤตินัย

การแสดงออก

การแสดงนิพจน์(8 − 6) × (3 + 1)ในรูปแบบ ต้นไม้ Lispจากวิทยานิพนธ์ปริญญาโทปี 1985 [ 12 ]

ยกเว้นตัวเลขและตัวแปรนิพจน์ทางคณิตศาสตร์ทุกอย่างสามารถมองได้ว่าเป็นสัญลักษณ์ของตัวดำเนินการตามด้วยลำดับของตัวถูกดำเนินการ ในซอฟต์แวร์พีชคณิตคอมพิวเตอร์ นิพจน์มักจะถูกแสดงในลักษณะนี้ การแสดงแบบนี้มีความยืดหยุ่นมาก และหลายสิ่งหลายอย่างที่ดูเหมือนจะไม่ใช่นิพจน์ทางคณิตศาสตร์ในตอนแรก อาจถูกแสดงและจัดการได้เช่นนั้น ตัวอย่างเช่น สมการอาจถูกพิจารณาว่าเป็นนิพจน์ที่มี "=" เป็นตัวดำเนินการนำหน้า และเมทริกซ์อาจถูกแสดงเป็นนิพจน์ที่มี "เมทริกซ์" เป็นตัวดำเนินการและแถวของเมทริกซ์เป็นตัวถูกดำเนินการ

แม้แต่โปรแกรมก็อาจถูกพิจารณาและแสดงเป็นนิพจน์ที่มีตัวดำเนินการ "ขั้นตอน" และตัวถูกดำเนินการอย่างน้อยสองตัว คือ รายการพารามิเตอร์และส่วนเนื้อหา ซึ่งตัวเนื้อหาเองก็เป็นนิพจน์ที่มี "ส่วนเนื้อหา" เป็นตัวดำเนินการและลำดับของคำสั่งเป็นตัวถูกดำเนินการ ในทางกลับกัน นิพจน์ทางคณิตศาสตร์ใดๆ ก็สามารถมองได้ว่าเป็นโปรแกรม ตัวอย่างเช่น นิพจน์a + bสามารถมองได้ว่าเป็นโปรแกรมสำหรับการบวก โดยมีaและbเป็นพารามิเตอร์ การดำเนินการโปรแกรมนี้ประกอบด้วยการประเมินนิพจน์สำหรับค่าที่กำหนดของaและbหากไม่ได้กำหนดค่าใดๆ ผลลัพธ์ของการประเมินก็คือค่าป้อนเข้าของนิพจน์นั้นเอง

กระบวนการประเมินผลแบบล่าช้านี้เป็นพื้นฐานในพีชคณิตคอมพิวเตอร์ ตัวอย่างเช่น ตัวดำเนินการ "=" ของสมการ ในระบบพีชคณิตคอมพิวเตอร์ส่วนใหญ่ ยังเป็นชื่อของโปรแกรมทดสอบความเท่าเทียมกันด้วย โดยปกติ การประเมินสมการจะให้ผลลัพธ์เป็นสมการ แต่เมื่อต้องการทดสอบความเท่าเทียมกัน ไม่ว่าจะโดยผู้ใช้ร้องขออย่างชัดเจนผ่านคำสั่ง "ประเมินค่าเป็นบูลีน" หรือโดยระบบเริ่มต้นโดยอัตโนมัติในกรณีของการทดสอบภายในโปรแกรม การประเมินค่าเป็นผลลัพธ์บูลีนก็จะถูกดำเนินการ

เนื่องจากขนาดของตัวดำเนินการของนิพจน์นั้นคาดเดาไม่ได้และอาจเปลี่ยนแปลงได้ในระหว่างเซสชันการทำงาน ลำดับของตัวดำเนินการจึงมักจะแสดงเป็นลำดับของตัวชี้ (เช่นในMacsyma ) [ 13 ]หรือรายการในตารางแฮช (เช่นในMaple )

การทำให้ง่ายขึ้น

การนำกฎพื้นฐานของการหาอนุพันธ์เทียบกับxมาใช้กับนิพจน์a x โดยตรง จะได้ผลลัพธ์ดังนี้

โดยทั่วไปแล้วต้องการการแสดงออกที่ง่ายกว่านี้ และจำเป็นต้องมีการทำให้ง่ายขึ้นเมื่อทำงานกับการแสดงออกทั่วไป การทำให้ง่ายขึ้นนี้มักทำได้โดยการใช้กฎการเขียนใหม่ [ 14 ] มีกฎการเขียนใหม่หลายประเภทที่ต้องพิจารณา กฎที่ง่ายที่สุดคือกฎที่ลดขนาดของการแสดงออกเสมอ เช่นEE → 0หรือsin(0) → 0กฎเหล่านี้ถูกนำไปใช้อย่างเป็นระบบในระบบพีชคณิตคอมพิวเตอร์

ความยากลำบากเกิดขึ้นกับการดำเนินการแบบสมาคมเช่น การบวกและการคูณ วิธีมาตรฐานในการจัดการกับคุณสมบัติสมาคมคือการพิจารณาว่าการบวกและการคูณมีจำนวนตัวดำเนินการที่ไม่จำกัด กล่าวคือ a + b + cสามารถแทนด้วย"+"( a , b , c )ได้ ดังนั้นa + ( b + c )และ( a + b ) + cจึงสามารถลดรูปเป็น"+"( a , b , c ) ได้ ซึ่งแสดงเป็นa + b + cในกรณีของนิพจน์เช่นab + cวิธีที่ง่ายที่สุดคือการเขียนใหม่E , EF , E / Fอย่างเป็น ระบบเป็น (−1)⋅ E , E + (−1)⋅ F , EF −1ตามลำดับ กล่าวอีกนัยหนึ่ง ในการแสดงนิพจน์ภายในนั้น ไม่มีการลบ การหาร หรือเครื่องหมายลบเอกภาคใดๆ นอกเหนือจากการแสดงตัวเลข

อีกหนึ่งความยากลำบากเกิดขึ้นจากสมบัติการสลับที่ของการบวกและการคูณ ปัญหาคือการระบุพจน์ที่เหมือนกัน อย่างรวดเร็ว เพื่อรวมหรือตัดทิ้ง การทดสอบทุกคู่ของพจน์นั้นมีค่าใช้จ่ายสูงเมื่อผลบวกและผลคูณยาวมาก เพื่อแก้ไขปัญหานี้Macsymaจะเรียงลำดับตัวดำเนินการของผลบวกและผลคูณในลำดับที่วางพจน์ที่เหมือนกันไว้ในตำแหน่งที่ติดกัน ทำให้ตรวจจับได้ง่าย ในMapleฟังก์ชันแฮชถูกออกแบบมาเพื่อสร้างการชนกันเมื่อป้อนพจน์ที่เหมือนกัน ทำให้สามารถรวมพจน์เหล่านั้นได้ทันทีที่ป้อนเข้ามา วิธีนี้ช่วยให้สามารถระบุและจัดเก็บนิพจน์ย่อยที่ปรากฏหลายครั้งในการคำนวณได้ทันที ซึ่งช่วยประหยัดหน่วยความจำและเพิ่มความเร็วในการคำนวณโดยหลีกเลี่ยงการทำซ้ำการดำเนินการเดียวกันกับนิพจน์ที่เหมือนกัน

กฎการเขียนใหม่บางข้ออาจทำให้ขนาดของนิพจน์ที่นำไปใช้เพิ่มขึ้นหรือลดลงได้ ตัวอย่าง เช่น กฎการกระจายหรือเอกลักษณ์ตรีโกณมิติเช่น กฎการกระจายอนุญาตให้เขียนใหม่ได้และเนื่องจากไม่มีวิธีใดที่จะเลือกใช้หรือไม่ใช้กฎการเขียนใหม่ดังกล่าวได้อย่างเหมาะสม การเขียนใหม่จึงเกิดขึ้นเฉพาะเมื่อผู้ใช้เรียกใช้โดยตรงเท่านั้น สำหรับกฎการกระจาย ฟังก์ชันคอมพิวเตอร์ที่ใช้กฎการเขียนใหม่นี้มักเรียกว่า "ขยาย" (expand) ส่วนกฎการเขียนใหม่แบบย้อนกลับ เรียกว่า "แยกตัวประกอบ" (factor) ต้องใช้อัลกอริทึมที่ไม่ธรรมดา จึงเป็นฟังก์ชันสำคัญในระบบพีชคณิตคอมพิวเตอร์ (ดูการแยกตัวประกอบพหุนาม )

แง่มุมทางคณิตศาสตร์

คำถามทางคณิตศาสตร์พื้นฐานบางข้อเกิดขึ้นเมื่อต้องการจัดการนิพจน์ทางคณิตศาสตร์ในคอมพิวเตอร์ เราจะพิจารณากรณีของเศษส่วนตรรกยะหลายตัวแปรเป็น หลัก นี่ไม่ใช่ข้อจำกัดที่แท้จริง เพราะทันทีที่ฟังก์ชันอตรรกยะที่ปรากฏในนิพจน์ถูกทำให้ง่ายขึ้น ฟังก์ชันเหล่านั้นมักจะถูกพิจารณาว่าเป็นตัวแปรที่ไม่กำหนดค่าใหม่ ตัวอย่างเช่น

ถือเป็นพหุนามใน และ

ความเท่าเทียมกัน

สำหรับ นิพจน์ทางคณิตศาสตร์นั้นมีแนวคิดเรื่องความเท่าเทียมกันอยู่สองแบบความเท่าเทียมกันทางไวยากรณ์คือ ความเท่าเทียมกันของการแสดงผลในคอมพิวเตอร์ ซึ่งตรวจสอบได้ง่ายในโปรแกรม ส่วนความเท่าเทียมกันทางความหมายคือ เมื่อนิพจน์สองนิพจน์แสดงถึงวัตถุทางคณิตศาสตร์เดียวกัน เช่น ใน

จาก ทฤษฎีบทของริชาร์ดสันเรารู้ว่าอาจไม่มีอัลกอริทึมใดที่สามารถตัดสินได้ว่านิพจน์สองนิพจน์ที่แทนจำนวนนั้นมีความเท่ากันทางความหมายหรือไม่ หากอนุญาตให้ใช้เลขยกกำลังและลอการิทึมในนิพจน์เหล่านั้น ดังนั้น การทดสอบความเท่ากัน (ทางความหมาย) อาจทำได้เฉพาะกับนิพจน์บางประเภท เช่นพหุนามและเศษส่วนตรรกยะเท่านั้น

ในการทดสอบความเท่าเทียมกันของนิพจน์สองนิพจน์ แทนที่จะออกแบบอัลกอริทึมเฉพาะ มักจะใช้วิธีการเขียนนิพจน์ให้อยู่ในรูปแบบมาตรฐานหรือเขียนผลต่างของนิพจน์ให้อยู่ในรูปแบบปกติแล้วทดสอบความเท่าเทียมกันทางไวยากรณ์ของผลลัพธ์

ในพีชคณิตคอมพิวเตอร์ "รูปแบบมาตรฐาน" และ "รูปแบบปกติ" ไม่ใช่คำที่มีความหมายเหมือนกัน[ 15 ]รูปแบบมาตรฐานคือรูปแบบที่นิพจน์สองนิพจน์ในรูปแบบมาตรฐานจะมีความหมายเท่ากันก็ต่อเมื่อนิพจน์ทั้งสองนั้นมีความหมายเท่ากันทางไวยากรณ์ ในขณะที่รูปแบบปกติคือรูปแบบที่นิพจน์ในรูปแบบปกติจะมีความหมายเป็นศูนย์ก็ต่อเมื่อนิพจน์นั้นมีความหมายเป็นศูนย์ทางไวยากรณ์ กล่าวอีกนัยหนึ่งคือ ศูนย์มีการแสดงแทนที่ไม่ซ้ำกันในรูปแบบปกติ

ในพีชคณิตคอมพิวเตอร์ มักนิยมใช้รูปแบบมาตรฐาน (normal forms) ด้วยเหตุผลหลายประการ ประการแรก รูปแบบเชิงกฎ (canonical forms) อาจมีค่าใช้จ่ายในการคำนวณสูงกว่ารูปแบบมาตรฐาน ตัวอย่างเช่น การแปลงพหุนามให้อยู่ในรูปแบบเชิงกฎ จำเป็นต้องกระจายผลคูณทุกตัวตามกฎการกระจายในขณะที่รูปแบบมาตรฐานไม่จำเป็นต้องทำเช่นนั้น (ดูด้านล่าง) ประการที่สอง อาจเป็นกรณีเช่นเดียวกับนิพจน์ที่เกี่ยวข้องกับรากที่สอง ที่รูปแบบเชิงกฎ หากมีอยู่จริง จะขึ้นอยู่กับการเลือกโดยพลการ และการเลือกเหล่านี้อาจแตกต่างกันสำหรับนิพจน์สองตัวที่คำนวณอย่างอิสระ ซึ่งอาจทำให้การใช้รูปแบบเชิงกฎไม่เหมาะสมในทางปฏิบัติ

ประวัติศาสตร์

พีชคณิตคอมพิวเตอร์ที่ขับเคลื่อนโดยมนุษย์

ระบบพีชคณิตคอมพิวเตอร์ยุคแรก เช่นENIACที่มหาวิทยาลัยเพนซิลเวเนียอาศัยคอมพิวเตอร์มนุษย์หรือโปรแกรมเมอร์ในการเขียนโปรแกรมใหม่ระหว่างการคำนวณ ควบคุมโมดูลทางกายภาพ (หรือแผง) จำนวนมาก และป้อนข้อมูลลงในเครื่องอ่านการ์ด IBM [ 16 ]นักคณิตศาสตร์หญิงเป็นผู้เขียนโปรแกรมการคำนวณที่มนุษย์เป็นผู้ชี้นำส่วนใหญ่ของ ENIAC ได้แก่Jean Jennings , Marlyn Wescoff , Ruth Lichterman , Betty Snyder , Frances BilasและKay McNultyเป็นผู้นำในความพยายามดังกล่าว[ 17 ]

พื้นฐานและการประยุกต์ใช้ในระยะเริ่มต้น

ในปี พ.ศ. 2503 จอห์น แมคคาร์ธีได้สำรวจการขยายฟังก์ชันเรียกซ้ำแบบดั้งเดิมสำหรับการคำนวณนิพจน์เชิงสัญลักษณ์ผ่าน ภาษาการเขียนโปรแกรม Lispขณะอยู่ที่สถาบันเทคโนโลยีแมสซาชูเซตส์ [ 18 ] แม้ว่าชุดบทความของเขาเกี่ยวกับ "ฟังก์ชันเรียกซ้ำของนิพจน์เชิงสัญลักษณ์และการคำนวณโดยเครื่องจักร" จะยังไม่เสร็จสมบูรณ์[ 19 ] แต่ แมคคาร์ธีและผลงานของเขาในการเขียนโปรแกรมปัญญาประดิษฐ์และพีชคณิตคอมพิวเตอร์ผ่าน Lisp ได้ช่วยก่อตั้งโครงการ MACที่สถาบันเทคโนโลยีแมสซาชูเซตส์และองค์กรที่ต่อมากลายเป็นห้องปฏิบัติการปัญญาประดิษฐ์สแตน ฟอร์ด (SAIL) ที่มหาวิทยาลัยสแตนฟอร์ดซึ่งการแข่งขันขององค์กรนี้ได้อำนวยความสะดวกให้เกิดการพัฒนาที่สำคัญในพีชคณิตคอมพิวเตอร์ตลอดช่วงปลายศตวรรษที่ 20

ความพยายามในช่วงแรกในการคำนวณเชิงสัญลักษณ์ในช่วงทศวรรษ 1960 และ 1970 ต้องเผชิญกับความท้าทายเกี่ยวกับประสิทธิภาพที่ไม่ดีของอัลกอริทึมที่รู้จักกันมานานเมื่อนำไปใช้กับระบบพีชคณิตคอมพิวเตอร์[ 20 ]โครงการรุ่นก่อนหน้าของ Project MAC เช่นALTRANพยายามที่จะเอาชนะข้อจำกัดของอัลกอริทึมผ่านความก้าวหน้าในด้านฮาร์ดแวร์และตัวแปลภาษา ในขณะที่ความพยายามในภายหลังหันไปสู่การเพิ่มประสิทธิภาพซอฟต์แวร์[ 21 ]

ปัญหาทางประวัติศาสตร์

งานวิจัยส่วนใหญ่ของนักวิจัยในสาขานี้ประกอบด้วยการทบทวนพีชคณิต แบบคลาสสิก เพื่อเพิ่มประสิทธิภาพในขณะที่พัฒนาอัลกอริทึมที่มีประสิทธิภาพสำหรับการใช้งานในพีชคณิตคอมพิวเตอร์ ตัวอย่างของงานประเภทนี้คือการคำนวณตัวหารร่วมมากของพหุนามซึ่งเป็นงานที่จำเป็นในการลดรูปเศษส่วนและเป็นองค์ประกอบสำคัญของพีชคณิตคอมพิวเตอร์ อัลกอริทึมแบบคลาสสิกสำหรับการคำนวณนี้ เช่นอัลกอริทึมของยุคลิดพิสูจน์แล้วว่าไม่มีประสิทธิภาพในฟิลด์อนันต์ อัลกอริทึมจากพีชคณิตเชิงเส้นก็ประสบปัญหาคล้ายกัน[ 22 ]ดังนั้น นักวิจัยจึงหันมาค้นหาวิธีการลดพหุนาม (เช่น พหุนามบนวงแหวนของจำนวนเต็มหรือโดเมนการแยกตัวประกอบที่ไม่ซ้ำกัน ) ให้เป็นรูปแบบที่คำนวณได้อย่างมีประสิทธิภาพผ่านอัลกอริทึมของยุคลิด

อัลกอริทึมที่ใช้ในพีชคณิตคอมพิวเตอร์

ดูเพิ่มเติม

อ่านเพิ่มเติม

สำหรับคำจำกัดความโดยละเอียดของหัวข้อนี้:

สำหรับตำราเรียนที่เกี่ยวข้องกับวิชานี้:

  • Davenport, James H. ; Siret, Yvon; Tournier, Èvelyne (1988). พีชคณิตคอมพิวเตอร์: ระบบและอัลกอริทึมสำหรับการคำนวณเชิงพีชคณิตแปลจากภาษาฝรั่งเศสโดย A. Davenport และ JH Davenport. สำนักพิมพ์ Academic Press. ISBN 978-0-12-204230-0.
  • ฟอน ซูร์ กาเธน, โยอาคิม; แกร์ฮาร์ด, เจอร์เก้น (2003) พีชคณิตคอมพิวเตอร์สมัยใหม่ (ฉบับที่ 2) สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์. ไอเอสบีเอ็น 0-521-82646-2.
  • Geddes, KO; Czapor, SR; Labahn, G. (1992). Algorithms for Computer Algebra . Bibcode : 1992afca.book.....G . doi : 10.1007/b102438 . ISBN 978-0-7923-9259-0.
  • บุชเบอร์เกอร์, บรูโน; คอลลินส์, จอร์จ เอ็ดวิน; ลูส, รูดิเกอร์; อัลเบรชท์, รูดอล์ฟ, สหพันธ์. (1983) พีชคณิตคอมพิวเตอร์: การคำนวณเชิงสัญลักษณ์และพีชคณิต . ส่วนเสริมคอมพิวเตอร์ ฉบับที่ 4. ดอย : 10.1007/978-3-7091-7551-4 . ไอเอสบีเอ็น 978-3-211-81776-6. S2CID  5221892 .
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Computer_algebra&oldid=1360634825 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ พีชคณิตคอมพิวเตอร์

ใน คณิตศาสตร์ และ วิทยาศาสตร์คอมพิวเตอร์ [ 1 ] พีชคณิต คอมพิวเตอร์ หรือที่เรียกว่า การคำนวณเชิงสัญลักษณ์ หรือ การคำนวณเชิงพีชคณิต เป็นสาขาวิทยาศาสตร์ที่หมายถึงการศึกษาและการพัฒนา...

ศัพท์เฉพาะ

ผู้เขียนบางคนแยกความแตกต่าง ระหว่าง พีชคณิตคอมพิวเตอร์ กับ การคำนวณเชิงสัญลักษณ์ โดยใช้ชื่อหลังเพื่ออ้างถึงการคำนวณเชิงสัญลักษณ์ประเภทอื่นนอกเหนือจากการคำนวณด้วย สูตร ทางคณิตศาสตร์ ผู้เขียนบางคนใช้ การคำนวณเชิงสัญลักษณ์ สำหรับแง่มุมของวิทยาการคอมพิวเตอร์และ...

ชุมชนวิทยาศาสตร์

ไม่มี สมาคมวิชาการ ใด ที่เฉพาะเจาะจงกับพีชคณิตคอมพิวเตอร์ แต่หน้าที่นี้ได้รับมอบหมายจาก กลุ่มความสนใจพิเศษ ของ สมาคมเครื่องจักรคำนวณ ที่ชื่อว่า SIGSAM (Special Interest Group on Symbolic and Algebraic Manipulation) [ 3 ]

การนำเสนอข้อมูล

เนื่องจาก ซอฟต์แวร์เชิงตัวเลข มีประสิทธิภาพสูงสำหรับ การคำนวณเชิงตัวเลข โดยประมาณ จึงเป็นเรื่องปกติในพีชคณิตคอมพิวเตอร์ที่จะเน้น การคำนวณ ที่แม่นยำ ด้วยข้อมูลที่แสดงอย่างแม่นยำ การแสดงข้อมูลที่แม่นยำดังกล่าวหมายความว่า แม้ว่าขนาดของผลลัพธ์จะเล็ก...