คอมพิวเตอร์สำหรับปฏิบัติการที่มีฟังก์ชันการทำงาน
ในสาขา วิศวกรรมคอมพิวเตอร์และวิทยาศาสตร์ คอมพิวเตอร์ คอมพิวเตอร์สำหรับดำเนินการกับฟังก์ชัน (ทางคณิตศาสตร์) (ซึ่งแตกต่างจาก คอมพิวเตอร์ทั่วไป) จะดำเนินการกับฟังก์ชันใน ระดับ ฮาร์ดแวร์ (กล่าวคือ โดยไม่ต้องเขียนโปรแกรมการดำเนินการเหล่านี้) [ 1 ] [ 2 ] [ 3 ]
ประวัติศาสตร์
เครื่องคำนวณสำหรับการดำเนินการกับฟังก์ชันได้รับการนำเสนอและพัฒนาโดย Mikhail Kartsev ในปี 1967 [ 1 ]ในบรรดาการดำเนินการของเครื่องคำนวณนี้ ได้แก่ การบวก การลบ และการคูณฟังก์ชัน การเปรียบเทียบฟังก์ชัน การดำเนินการเดียวกันระหว่างฟังก์ชันและตัวเลข การหาค่าสูงสุดของฟังก์ชัน การคำนวณอินทิกรัลไม่จำกัดการคำนวณอินทิกรัลจำกัดของอนุพันธ์ของสองฟังก์ชัน อนุพันธ์ของสองฟังก์ชัน การเลื่อนฟังก์ชันตามแกน X เป็นต้น ด้วยสถาปัตยกรรมของเครื่องคำนวณนี้ (โดยใช้ศัพท์สมัยใหม่) เป็นตัวประมวลผลเวกเตอร์หรือตัวประมวลผลอาร์เรย์ซึ่งเป็นหน่วยประมวลผลกลาง (CPU) ที่ใช้ชุดคำสั่งที่มีคำสั่งที่ดำเนินการกับ อาร์เรย์ ข้อมูลหนึ่งมิติ ที่เรียกว่า เวกเตอร์ ในนั้นมีการใช้ข้อเท็จจริงที่ว่าการดำเนินการเหล่านี้จำนวนมากสามารถตีความได้ว่าเป็นการดำเนินการที่รู้จักกันดีบนเวกเตอร์ เช่น การบวกและการลบฟังก์ชัน – เป็นการบวกและการลบเวกเตอร์ การคำนวณอินทิกรัลจำกัดของอนุพันธ์ของฟังก์ชันสองตัว – เป็นการคำนวณผลคูณเวกเตอร์ของเวกเตอร์สองตัว การเลื่อนฟังก์ชันตามแกน X – เป็นการหมุนเวกเตอร์รอบแกน เป็นต้น[ 1 ]ในปี พ.ศ. 2509 Khmelnik ได้เสนอวิธีการเข้ารหัสฟังก์ชัน[ 2 ]กล่าวคือ การแสดงฟังก์ชันด้วยรหัสตำแหน่ง "สม่ำเสมอ" (สำหรับฟังก์ชันโดยรวม) ดังนั้นการดำเนินการกับฟังก์ชันที่กล่าวถึงจึงดำเนินการเป็นการดำเนินการคอมพิวเตอร์ที่ไม่ซ้ำกันด้วยรหัสดังกล่าวบนหน่วยคำนวณเลขคณิต " เดียว " [ 3 ]
รหัสตำแหน่งของฟังก์ชันตัวแปรเดียว
แนวคิดหลัก
รหัสตำแหน่งของจำนวนเต็มคือ สัญกรณ์ตัวเลขของหลักต่างๆ ใน ระบบเลขตำแหน่งแบบหนึ่งซึ่งมีรูปแบบดังนี้
- .
รหัสประเภทนี้อาจเรียกว่า "รหัสเชิงเส้น" ซึ่งแตกต่างจากรหัสตำแหน่งของฟังก์ชัน ตัวแปรเดียว ที่มีรูปแบบดังนี้:
ดังนั้นมันจึงแบนและเป็นรูปทรง "สามเหลี่ยม" เนื่องจากตัวเลขในนั้นประกอบกันเป็นรูปสามเหลี่ยม
ค่าของตัวเลขตำแหน่งข้างต้นคือค่าของผลรวม
- ,
ฐานของระบบตัวเลขดังกล่าวอยู่ ที่ไหนรหัสตำแหน่งของฟังก์ชันตัวแปรเดียวสอดคล้องกับรหัส 'ดับเบิล' ในรูปแบบ
- ,
โดยที่เป็นจำนวนเต็มบวก, เป็นจำนวนค่าที่นำมาพิจารณาและเป็นฟังก์ชันเฉพาะของตัวแปร
การบวกเลขรหัสตำแหน่งจะสัมพันธ์กับการ ถ่ายโอน ตัวทดไปยังหลักที่สูงกว่าตามรูปแบบที่กำหนด
- .
การเพิ่มรหัสตำแหน่งของฟังก์ชันตัวแปรเดียวเกี่ยวข้องกับการถ่ายโอนตัวทดไปยังหลักที่สูงกว่าตามแผนผังดังนี้:
- .
ในกรณีนี้ การโอนย้ายข้อมูลแบบเดียวกันจะดำเนินการพร้อมกันไปยัง ตัวเลข สองหลักที่สูงกว่า
รหัสสามเหลี่ยมR -nary
รหัสสามเหลี่ยมเรียกว่ารหัสR-nary (และใช้สัญลักษณ์) ถ้าตัวเลขมีค่ามาจากเซต
- ที่ไหนและ.
ตัวอย่างเช่น รหัสสามเหลี่ยมเป็นรหัสไตรภาคถ้าและเป็นรหัสจตุภาคถ้าสำหรับ รหัส สามเหลี่ยม R -nary ความเท่าเทียมกันต่อไปนี้เป็นจริง:
- ,
โดยที่เป็นจำนวนใดๆ มี ค่า คงที่ของจำนวนจริงจำนวนเต็มใดๆโดยเฉพาะอย่างยิ่งนอกจากนี้ยังมีค่าคงที่ของฟังก์ชันใดๆ ที่อยู่ในรูปแบบเช่น.
การบวกเลขหลักเดียว
รหัสสามเหลี่ยม R-nary ประกอบด้วยสิ่งต่อไปนี้:
- ในตัวเลขที่กำหนดนั้น จะมีการหาผลรวมของตัวเลขที่นำมาบวกกันและตัวทดสองตัวที่ถ่ายโอนมาจากทางซ้ายมายังตัวเลขนี้ นั่นคือ
- ,
- ผลรวมนี้แสดงอยู่ในรูปแบบโดยที่,
- เขียนด้วยตัวเลขหลักของรหัสสรุป และตัวทดจากตัวเลขที่กำหนดจะถูกส่งต่อไปยังตัวเลขหลักถัดไปและตัวเลขหลักถัดไป
วิธีการนี้อธิบายไว้ (เช่นเดียวกับการบวกเลขหลักเดียว) โดยใช้ตารางการบวกเลขหลักเดียว ซึ่งค่าของพจน์ทั้งหมดและต้องมีอยู่ครบถ้วน และค่าของตัวทดทั้งหมดต้องปรากฏในการแยกส่วนผลรวม ตารางดังกล่าวสามารถสังเคราะห์ได้สำหรับ ด้านล่างนี้เราได้เขียนตารางการบวกเลขหลักเดียวสำหรับ:
| สมก | ทีเค (สเมิร์ค) | |||
|---|---|---|---|---|
| . | . | 0 | . | . |
| 0 | 0 | 0 | 0 | 0 |
| . | . | 0 | . | . |
| 1 | 1 | 0 | 1 | 0 |
| . | . | 0 | . | . |
| (-1) | (-1) | 0 | (-1) | 0 |
| . | . | 1 | . | . |
| 2 | (-1) | 1 | (-1) | 1 |
| . | . | 1 | . | . |
| 3 | 0 | 1 | 0 | 1 |
| . | . | 1 | . | . |
| 4 | 1 | 1 | 1 | 1 |
| . | . | (-1) | . | . |
| (-2) | 1 | (-1) | 1 | (-1) |
| . | . | (-1) | . | . |
| (-3) | 0 | (-1) | 0 | (-1) |
| . | . | (-1) | . | . |
| (-4) | (-1) | (-1) | (-1) | (-1) |
การลบเลขหลักเดียว
ในรหัสสามเหลี่ยม R-nary นั้นแตกต่างจากการบวกเลขหลักเดียวเพียงแค่ว่าในหลักที่กำหนดค่าจะถูกกำหนดโดยสูตร
- .
การหารเลขหลักเดียวด้วยพารามิเตอร์ R
ในรหัสสามเหลี่ยม R-nary นั้น อาศัยการใช้ค่าสหสัมพันธ์เป็นหลัก:
- ,
จากนี้จึงสรุปได้ว่า การหารแต่ละหลักจะทำให้เกิดตัวทดในสองหลักที่ต่ำที่สุด ดังนั้น ผลลัพธ์ของตัวเลขในการดำเนินการนี้จึงเป็นผลรวมของผลหารจากการหารหลักนั้นด้วย R และตัวทดสองตัวจากสองหลักที่สูงที่สุด ดังนั้น เมื่อหารด้วยพารามิเตอร์ R
- ผลรวมต่อไปนี้จะถูกกำหนดในหลักที่กำหนด
- ,
- ผลรวมนี้แสดงเป็น โดยที่
- จะถูกเขียนลงในหลักที่ — ของรหัสที่ได้ และตัวทดจากหลักที่กำหนดจะถูกถ่ายโอนไปยังหลักที่ — และหลักที่ —
ขั้นตอนการคำนวณนี้อธิบายได้ด้วยตารางการหารเลขหลักเดียวโดยใช้พารามิเตอร์ R โดยที่ค่าของพจน์ทั้งหมดและค่าของตัวทดทั้งหมดที่ปรากฏในการแยกผลรวมจะต้องมีอยู่ครบถ้วน สามารถสร้างตารางดังกล่าวได้ดังนี้ ด้านล่างนี้จะเป็นตารางแสดงการหารเลขหลักเดียวโดยใช้พารามิเตอร์ R สำหรับ:
| สมก | ทีเค (สเมิร์ค) | |||
|---|---|---|---|---|
| . | . | 0 | . | . |
| 0 | 0 | 0 | 0 | 0 |
| . | . | 1 | . | . |
| 1 | 0 | 0 | 1 | 0 |
| . | . | (-1) | . | . |
| (-1) | 0 | 0 | (-1) | 0 |
| . | . | 0 | . | . |
| 1/3 | 1 | (-1/3) | 0 | 1 |
| . | . | 1 | . | . |
| 2/3 | (-1) | 1/3 | 1 | (-1) |
| . | . | 1 | . | . |
| 4/3 | 1 | (-1/3) | 1 | 1 |
| . | . | 2 | . | . |
| 5/3 | (-1) | 1/3 | 2 | (-1) |
| . | . | 0 | . | . |
| (-1/3) | (-1) | 1/3 | 0 | (-1) |
| . | . | (-1) | . | . |
| (-2/3) | 1 | (-1/3) | (-1) | 1 |
| . | . | (-1) | . | . |
| (-4/3) | (-1) | 1/3 | (-1) | (-1) |
| . | . | (-2) | . | . |
| (-5/3) | 1 | (-1/3) | (-2) | 1 |
การบวกและการลบ
รหัสสามเหลี่ยม R-nary ประกอบด้วย (เช่นเดียวกับรหัสตำแหน่งของตัวเลข) การดำเนินการทีละหลักที่ดำเนินการต่อเนื่องกัน โปรดทราบว่าการดำเนินการทีละหลักในทุกหลักของแต่ละคอลัมน์จะดำเนินการพร้อมกัน
การคูณ
ของรหัสสามเหลี่ยม R-nary การคูณรหัสหนึ่งกับอีกรหัสหนึ่งที่ มีจำนวนหลัก k จะประกอบด้วยการเลื่อนรหัสk ตำแหน่ง กล่าวคือ เลื่อนไปทางซ้าย k คอลัมน์และขึ้น m แถว การคูณรหัส k และ k จะประกอบด้วยการเลื่อนรหัส k ตำแหน่ง ต่อเนื่องกัน และการบวกรหัสที่เลื่อนแล้วกับผลคูณส่วน (เช่นเดียวกับรหัสตำแหน่งของตัวเลข)
อนุพันธ์
ของรหัสสามเหลี่ยม R-nary อนุพันธ์ของฟังก์ชันที่กำหนดไว้ข้างต้น คือ
- .
ดังนั้น การหาโค้ดสามเหลี่ยมของฟังก์ชันจึง ประกอบด้วยการหาโค้ดสามเหลี่ยมของอนุพันธ์ย่อย และการคูณด้วยโค้ดสามเหลี่ยมของอนุพันธ์ที่ทราบแล้วการหาโค้ดสามเหลี่ยมของอนุพันธ์ย่อยนั้นอาศัยความสัมพันธ์
- .
วิธีการหาอนุพันธ์ประกอบด้วยการจัดเรียงตัวทดจากหลัก mk ไปยังหลัก (m+1,k) และไปยังหลัก (m-1,k) จากนั้นจึงทำการบวกในหลักที่กำหนดในลักษณะเดียวกับการบวกเลขหลักเดียว
การเข้ารหัสและการถอดรหัส
ของรหัสสามเหลี่ยม R-nary ฟังก์ชันที่แสดงด้วยอนุกรมในรูปแบบ
- ,
ฟังก์ชันที่มีสัมประสิทธิ์เป็นจำนวนเต็มอาจแสดงด้วยรหัสสามเหลี่ยม R-nary เนื่องจากสัมประสิทธิ์เหล่านี้และฟังก์ชันต่างๆมีรหัสสามเหลี่ยม R-nary (ซึ่งได้กล่าวถึงไปแล้วในตอนต้นของหัวข้อ) ในทางกลับกัน รหัสสามเหลี่ยม R-nary อาจแสดงด้วยอนุกรมดังกล่าวได้ เนื่องจากพจน์ใดๆในการกระจายตำแหน่งของฟังก์ชัน (ที่สอดคล้องกับรหัสนี้) อาจแสดงด้วยอนุกรมที่คล้ายกันได้
การตัดทอน
ของรหัสสามเหลี่ยม R-nary นี่คือชื่อของการดำเนินการลดจำนวนคอลัมน์ที่ไม่เป็นศูนย์ ความจำเป็นในการตัดทอนเกิดขึ้นเมื่อมีตัวทดเกินจำนวนหลัก การตัดทอนประกอบด้วยการหารด้วยพารามิเตอร์ R สัมประสิทธิ์ทั้งหมดของอนุกรมที่แสดงโดยรหัสจะถูกลดลง R ครั้ง และส่วนที่เป็นเศษส่วนของสัมประสิทธิ์เหล่านี้จะถูกทิ้งไป พจน์แรกของอนุกรมก็ถูกทิ้งไปเช่นกัน การลดทอนดังกล่าวเป็นที่ยอมรับได้หากทราบว่าอนุกรมของฟังก์ชันลู่เข้า การตัดทอนประกอบด้วยการดำเนินการหารด้วยพารามิเตอร์ R ทีละหลักที่ดำเนินการต่อเนื่องกัน การดำเนินการทีละหลักในทุกหลักของแถวจะดำเนินการพร้อมกัน และตัวทดจากแถวล่างจะถูกทิ้งไป
ปัจจัยมาตราส่วน
รหัสสามเหลี่ยม R-nary จะมีตัวประกอบมาตราส่วน M คล้ายกับเลขชี้กำลังสำหรับเลขทศนิยม ตัวประกอบ M ช่วยให้สามารถแสดงค่าสัมประสิทธิ์ทั้งหมดของอนุกรมที่เข้ารหัสเป็นจำนวนเต็มได้ ตัวประกอบ M จะถูกคูณด้วย R เมื่อรหัสถูกตัดทอน สำหรับการบวก ตัวประกอบ M จะถูกจัดเรียงให้ตรงกัน เพื่อให้เป็นเช่นนั้น รหัสหนึ่งในการบวกจะต้องถูกตัดทอน สำหรับการคูณ ตัวประกอบ M ก็จะถูกคูณด้วยเช่นกัน
รหัสตำแหน่งสำหรับฟังก์ชันของตัวแปรหลายตัว
แหล่งที่มา: [ 4 ]
รหัสตำแหน่งสำหรับฟังก์ชันของตัวแปรสองตัวแสดงไว้ในรูปที่ 1 โดยสอดคล้องกับผลรวม "สามเท่า" ในรูปแบบ: โดย ที่เป็นจำนวนเต็มบวก เป็นจำนวนค่าของตัวเลขและเป็นฟังก์ชันของอาร์กิวเมนต์ตามลำดับ ในรูปที่ 1 จุดต่างๆ สอดคล้องกับตัวเลขและในวงกลมแสดงค่าดัชนีของตัวเลขที่สอดคล้องกัน รหัสตำแหน่งของฟังก์ชันของตัวแปรสองตัวเรียกว่า "รหัสพีระมิด" รหัสตำแหน่งเรียกว่า R-nary (และใช้สัญลักษณ์) ถ้าตัวเลขมีค่าจากเซตเมื่อบวกรหัส เข้าด้วยกัน ตัวทด จะ มีสี่หลัก ดังนั้น
รหัสตำแหน่งสำหรับฟังก์ชันจากตัวแปรหลายตัวจะสอดคล้องกับผลรวมในรูปแบบ
- ,
โดยที่เป็นจำนวนเต็มบวก เป็นจำนวนค่าของตัวเลขหลักและเป็นฟังก์ชันบางอย่างของอาร์กิวเมนต์รหัสตำแหน่งของฟังก์ชันที่มีหลายตัวแปรเรียกว่า "ไฮเปอร์พีระมิด" ดังแสดงในรูปที่ 2 ตัวอย่างเช่น รหัสไฮเปอร์พีระมิดตำแหน่งของฟังก์ชันที่มีสามตัวแปร ในรูปนั้น จุดต่างๆ สอดคล้องกับตัวเลขหลักและวงกลมบรรจุค่าดัชนีของตัวเลขหลักที่สอดคล้องกัน รหัสไฮเปอร์พีระมิดตำแหน่งเรียกว่า R-nary (และใช้สัญลักษณ์) ถ้าตัวเลขมีค่าจากเซตเมื่อบวกรหัส ตัวทดจะขยายบนลูกบาศก์มิติ n ซึ่งประกอบด้วยตัวเลขหลัก และดังนั้น