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

อ่าน 8 นาที

หมายเหตุ G

หมายเหตุ G [ a ] ​​เป็น อัลกอริธึม คอมพิวเตอร์ ที่เชื่อกันว่าเป็นผลงานของ Ada Lovelace ซึ่งออกแบบมาเพื่อคำนวณ เลขเบอร์นูลลี โดยใช้ เครื่องวิเคราะห์เชิง สมมติฐานที่ออกแบบโดย...

หมายเหตุ G

หมายเหตุ G ซึ่งตีพิมพ์ครั้งแรกในหนังสือ Sketch of The Analytical Engine Invented by Charles Babbage

หมายเหตุ G [ a ] ​​เป็นอัลกอริธึม คอมพิวเตอร์ ที่เชื่อกันว่าเป็นผลงานของAda Lovelaceซึ่งออกแบบมาเพื่อคำนวณเลขเบอร์นูลลี โดยใช้ เครื่องวิเคราะห์เชิงสมมติฐานที่ออกแบบโดยCharles Babbage

อัลกอริทึมเป็นโน้ตตัวสุดท้ายในชุดที่ติดป้ายกำกับว่า "A" ถึง "G" ซึ่งใช้เป็นสื่อประกอบภาพในการแปลภาษาอังกฤษของ Lovelace จากบทถอดความภาษาฝรั่งเศสปี 1842 ของ Luigi Menabrea เกี่ยวกับการบรรยายเพียงครั้งเดียว ของ Charles Babbageเกี่ยวกับเครื่องจักรเชิงวิเคราะห์[ 1 ] [ 2 ]การแปลของเธอพร้อมกับบันทึกสำคัญเกี่ยวกับความเป็นไปได้ของเครื่องจักรเชิงวิเคราะห์ได้รับการตีพิมพ์ในปี 1843 [ 3 ] [ 4 ] [ 1 ]

ในบันทึกความทรงจำของ Babbage ในปี พ.ศ. 2407 เขาได้พูดคุยเกี่ยวกับการสร้างโน้ตต่างๆ กับ Lovelace รวมถึงโน้ต "G" เขาได้จัดเตรียมสูตรทางคณิตศาสตร์สำหรับการคำนวณตัวเลข Bernoulli ซึ่ง Ada ได้แปลงเป็นตารางคำแนะนำทีละขั้นตอนสำหรับเครื่องจักรวิเคราะห์ นอกจากนี้เธอยังพบข้อผิดพลาดให้เขาด้วย[ 5 ] :

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

— ชาร์ลส์ แบ็บเบจ, ข้อความจากชีวิตของนักปรัชญา (1864)

นักประวัติศาสตร์อย่างAllan G. Bromleyได้ตั้งข้อสังเกตว่า Babbage ได้เตรียมโปรแกรมตัวอย่างหลายสิบโปรแกรมระหว่างปี 1837 ถึง 1840 (ซึ่งทั้งหมดมีมาก่อนบันทึกประกอบ) แม้ว่าจะไม่เคยได้รับการตีพิมพ์และมีความเรียบง่ายกว่ามาก[ 6 ]ซึ่งนำไปสู่การที่ในวัฒนธรรมสมัยนิยม Note G ได้รับการพิจารณาโดยทั่วไปว่าเป็นอัลกอริทึมแรกสำหรับคอมพิวเตอร์โดยเฉพาะ[ 7 ] [ 8 ] [ 9 ] [ 10 ] และ Lovelace ได้รับการพิจารณาว่าเป็น โปรแกรมเมอร์คอมพิวเตอร์คนแรก[ 11 ] [ 4 ] [ 1 ] [ 12 ]

โปรแกรมที่อธิบายไว้ในหมายเหตุ G ไม่ได้รับการทดสอบในช่วงชีวิตของ Babbage หรือ Lovelace เนื่องจากเครื่องวิเคราะห์ไม่เคยถูกสร้างขึ้น ในยุคปัจจุบัน อัลกอริทึมได้รับการทดสอบโดยใช้วิธีการคำนวณสมัยใหม่และพบว่ามีข้อบกพร่องของซอฟต์แวร์เนื่องจากการสลับตัวแปรสองตัวในการดำเนินการหาร[ 13 ] [ 14 ]

ต้นทาง

เอดา เลิฟเลซ
เอดา เลิฟเลซ

ในปี ค.ศ. 1840 ชาร์ลส์ แบ็บเบจ ได้รับเชิญให้บรรยายสัมมนาเกี่ยวกับเครื่องจักรวิเคราะห์ของเขา ที่ เมืองตูริน[ 15 ]ซึ่งเป็นการอธิบายเครื่องจักรนี้ต่อสาธารณะเพียงครั้งเดียวที่เขาเคยให้ไว้[ 16 ]ระหว่างการบรรยายของแบ็บเบจ นักคณิตศาสตร์ ลุยจิ เมนาเบรีย ได้เขียนบันทึกเกี่ยวกับเครื่องจักรนี้เป็นภาษาฝรั่งเศส[ 15 ]ชาร์ลส์ วีทสโตนเพื่อนของแบ็บเบจแนะนำว่า เพื่อเป็นการมีส่วนร่วม โลฟเลซควรแปลบันทึกของเมนาเบรีย[ 15 ] [ 17 ]แบ็บเบจแนะนำให้เธอเพิ่มภาคผนวกเข้าไปในบันทึก ซึ่งเธอได้รวบรวมไว้ในตอนท้ายของการแปลเป็นชุด "หมายเหตุ" เจ็ดรายการที่ติดป้ายกำกับว่า AG การแปลของเธอได้รับการตีพิมพ์ในเดือนสิงหาคม ค.ศ. 1843 [ 15 ]ในScientific Memoirs ของเทย์เลอร์ [ 17 ] [ 18 ] ซึ่งชื่อของโลฟเลซถูกลงชื่อ ว่า "AAL" [ 15 ] [ b ]ในบันทึกเหล่านี้ Lovelace ได้อธิบายถึงความสามารถของเครื่องจักรวิเคราะห์ของ Babbage หากจะนำไปใช้ในการคำนวณ โดยวางแผนเครื่องจักรที่ทะเยอทะยานกว่าที่ Babbage เองเคยมี[ 9 ] [ 18 ] [ 19 ]

บันทึกของ Lovelace สำหรับบทความนั้นยาวกว่าตัวบทความถึงสามเท่า[ 20 ]ในบันทึกแรก เธอสำรวจนอกเหนือจากความทะเยอทะยานเชิงตัวเลขที่ Babbage มีต่อเครื่องจักร และแนะนำว่าเครื่องจักรสามารถใช้ประโยชน์จากการคำนวณเพื่อจัดการกับขอบเขตของดนตรี กราฟิก[ 21 ]และภาษา[ 12 ] [ 22 ] [ 23 ]

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

— เอดา โลฟเลซ, บันทึกประกอบหนังสือบันทึกความทรงจำ "ภาพร่างเครื่องวิเคราะห์ที่ประดิษฐ์โดยชาร์ลส์ แบ็บเบจ" โดยผู้แปล เอดา ออกัสตา เคาน์เตสแห่งโลฟเลซ, หมายเหตุ ก

เธออธิบายให้ผู้อ่าน ทราบว่าเครื่องวิเคราะห์นั้นแยกออกจากเครื่องหาผลต่างรุ่นก่อนหน้าของ Babbage อย่างไร [ 24 ] และเปรียบเทียบการทำงานของมันกับเครื่อง Jacquard [ 25 ]ตรงที่มันใช้บัตรเจาะรูแบบไบนารีเพื่อแสดงภาษาเครื่องในหมายเหตุ C ประเด็นนี้ได้รับการเสริมเพิ่มเติมด้วยข้อเท็จจริงที่ว่าเครื่องสามารถดำเนินการ พร้อมกันและ ทำซ้ำได้ ทำให้มั่นใจได้ว่าบัตรหรือชุดบัตรใดๆ ก็ตามสามารถใช้ได้หลายครั้งในการแก้ปัญหาเดียว [ 23 ]ซึ่งโดยพื้นฐานแล้วเป็นการคาดการณ์วิธีการควบคุมการไหลและการวนซ้ำ แบบสมัยใหม่ [ 20 ] [ 26 ]แนวคิดเหล่านี้ถูกนำมารวมกันในหมายเหตุสุดท้าย G ซึ่ง Lovelace พยายามสาธิตตัวอย่างของการคำนวณ

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

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

— ชาร์ลส์ แบ็บเบจ, "ภาพร่างเครื่องวิเคราะห์ที่ประดิษฐ์โดยชาร์ลส์ แบ็บเบจ"

นอกจากนี้ยังใช้แนวคิดของแบ็บเบจในการจัดเก็บข้อมูลในคอลัมน์ของแผ่นดิสก์ โดยแต่ละคอลัมน์จะถูกระบุด้วย(สำหรับตัวแปร ) และ หมายเลข ตัวห้อยที่ระบุว่ากำลังอ้างถึงคอลัมน์ใด

การทำงาน

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

โดยที่เป็นสัมประสิทธิ์ทวินาม

.

สามารถคำนวณจำนวนเบอร์นูลลีได้หลายวิธีแต่ผู้เขียนจงใจเลือกวิธีการที่ซับซ้อนเพื่อแสดงให้เห็นถึงพลังของเครื่องจักร ในหมายเหตุ G เลิฟเลซกล่าวว่า: "เราจะจบหมายเหตุเหล่านี้ด้วยการติดตามขั้นตอนโดยละเอียดที่เครื่องจักรสามารถคำนวณจำนวนเบอร์นูลลีได้ ซึ่ง (ในรูปแบบที่เราจะสรุป) เป็นตัวอย่างที่ค่อนข้างซับซ้อนของพลังของมัน" [ 23 ]อัลกอริทึมเฉพาะที่ใช้ในหมายเหตุ G สร้างจำนวนเบอร์นูลลีลำดับที่แปด (ติดป้ายกำกับว่าเนื่องจากเริ่มต้นด้วย) [ 27 ]

สัญกรณ์

ตารางของอัลกอริทึมจัดเรียงคำสั่งแต่ละคำสั่งตามลำดับ คำสั่งแต่ละคำสั่งแสดง ถึง การดำเนินการ หนึ่งครั้ง ที่กระทำกับสองเทอม คอลัมน์ที่สองระบุเฉพาะตัวดำเนินการที่ใช้ตัวแปรจะถูกเขียนแทนด้วย " ", [ c ]โดยตัวยกข้างหน้าแสดงถึงจำนวนค่าที่แตกต่างกันที่ตัวแปรถูกกำหนดให้ และตัวห้อยข้างหลังแสดงถึงลำดับการกำหนดตัวแปร นั่นคือตัวแปรใด (ตัวอย่างเช่นหมายถึงการกำหนดค่าครั้งที่สองของตัวแปรหมายเลข 4 ตัวแปรใดๆ ที่ยังไม่ได้กำหนดจะมีตัวยกเป็น 0) ตัวแปรจะถูกกำหนดหมายเลขเริ่มต้นจากคอลัมน์ที่สามบอกคอมพิวเตอร์อย่างแน่ชัดว่าคำสั่งใดกำลังเกิดขึ้น (ตัวอย่างเช่น ในบรรทัดที่ 1 คำสั่งที่ดำเนินการคือ " " - การทำซ้ำครั้งแรกของตัวแปร 2 จะถูกคูณด้วยการทำซ้ำครั้งแรกของตัวแปร 3) และรวมการดำเนินการเพียงครั้งเดียวระหว่างสองเทอมต่อบรรทัด คอลัมน์ที่ 4 - "ตัวแปรที่รับผลลัพธ์" จะบันทึกว่าควรจัดเก็บผลลัพธ์ของการดำเนินการในคอลัมน์ที่ 3 ไว้ที่ใด ด้วยวิธีนี้ ตัวแปรใดๆ ในคอลัมน์นี้จะมีเลขยกกำลังเพิ่มขึ้นทีละหนึ่งทุกครั้ง (เช่น ในบรรทัดที่ 1 ผลลัพธ์ของจะถูกกำหนดให้กับตัวแปร, , และ)

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

เปลี่ยนไปแล้ว แต่ก็ยังคงเหมือนเดิม

ในคอลัมน์ที่ 6 "คำแถลงผลลัพธ์" ผลลัพธ์ที่กำหนดให้กับตัวแปรในคอลัมน์ที่ 4 จะแสดงเป็นค่าที่แน่นอนโดยอิงจากค่าของสองเทอมที่กำหนดไว้ก่อนหน้านี้ (เช่น ในบรรทัดที่ 1 - - ถูกกำหนดไว้ที่จุดเริ่มต้นให้เป็นและถูกกำหนดให้เป็นตัวแปรดังนั้นในสัญลักษณ์ทางคณิตศาสตร์ ) คอลัมน์นี้เห็นได้ชัดว่าไม่ได้คำนวณโดยเอนจิน และดูเหมือนว่าจะช่วยให้เข้าใจได้ชัดเจนยิ่งขึ้นและช่วยให้ผู้อ่านสามารถติดตามขั้นตอนของโปรแกรมได้ง่ายขึ้น (ตัวอย่างเช่น บรรทัดที่ 5 มีเศษส่วนที่ถูกหารด้วยสอง ซึ่งเขียนแทนด้วยการคูณด้วยครึ่งหนึ่ง อาจเป็นเพราะความสอดคล้องและความซับซ้อนทางด้านการพิมพ์ของเศษส่วนที่ซ้อนกัน) นอกจากนี้ยังใช้สัญลักษณ์ตัวแปรแยกต่างหากนอกโปรแกรม ตัวแปร และซึ่งจะถูกคูณกันอย่างต่อเนื่องเพื่อหาค่าสุดท้ายดังนี้: [ 13 ]

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

วิธี

โปรแกรมดังกล่าวพยายามคำนวณสิ่งที่เรียกว่าจำนวนเบอร์นูลลีลำดับที่แปดตามธรรมเนียมสมัยใหม่ ซึ่งระบุไว้เป็นโดยที่เลิฟเลซเริ่มนับจาก[ 27 ]

ข้อผิดพลาด

ในขั้นตอนที่ 4 การหารที่ควรจะเกิดขึ้นคือ " " ซึ่งจะถูกเก็บไว้ในตัวแปรอย่างไรก็ตาม "คำแถลงผลลัพธ์" ระบุว่าการหารควรจะเป็น:

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

การนำไปใช้ในยุคปัจจุบัน

โปรแกรมของ Lovelace สามารถนำไปเขียนด้วยภาษาโปรแกรม สมัยใหม่ ได้ แต่เนื่องจากข้อผิดพลาดที่กล่าวไว้ข้างต้น หากเขียนลงไปอย่างตรงตัว จะได้ค่าสุดท้ายที่ไม่ถูกต้องโปรแกรมต้นฉบับที่เขียนในรูปแบบรหัสเทียมมีดังนี้:

V[1] = 1 V[2] = 2 V[3] = n /* n = 4 ในโปรแกรมของ Lovelace */ /* เริ่ม */ วี[4], วี[5], วี[6] = วี[2] * วี[3] V[4] = V[4] - V[1] V[5] = V[5] + V[1] V[11] = V[5] / V[4] V[11] = V[11] / V[2] V[13] = V[13] - V[11] /* ตัวแปรมีค่าเริ่มต้นเป็นศูนย์ ดูด้านล่าง */ V[10] = V[3] - V[1] V[7] = V[2] + V[7] V[11] = V[6] / V[7] V[12] = V[21] * V[11] V[13] = V[12] + V[13] V[10] = V[10] - V[1] ในขณะที่ V[10] > 0: V[6] = V[6] - V[1] V[7] = V[1] + V[7] V[8] = V[6] / V[7] V[11] = V[8] * V[11] V[6] = V[6] - V[1] V[7] = V[1] + V[7] V[9] = V[6] / V[7] V[11] = V[9] / V[11] V[12] = V[22] * V[11] V[13] = V[12] + V[13] V[10] = V[10] - V[1] V[24] = V[13] + V[24] V[3] = V[1] + V[3] 

การนำไปใช้ในรหัสเทียมเน้นให้เห็นถึงข้อเท็จจริงที่ว่าภาษาคอมพิวเตอร์กำหนดตัวแปรบนสแต็กซึ่งทำให้ไม่จำเป็นต้องติดตามและระบุการวนซ้ำปัจจุบันของตัวแปร นอกจากนี้ โปรแกรมของ Lovelace อนุญาตให้กำหนดตัวแปรได้โดยการบวกลบคูณหรือหารกับสองเทอมที่เป็นตัวแปรที่กำหนดไว้ก่อนหน้านี้เท่านั้น ไวยากรณ์สมัยใหม่จะสามารถคำนวณแต่ละอย่างได้อย่างกระชับกว่า ข้อจำกัดนี้ปรากฏชัดทันทีในขั้นตอนที่ 6 ( ) ในที่นี้ Lovelace กำหนดตัวแปรที่ยังไม่ได้กำหนด ( ) ด้วยตัวเอง โดยสมมติว่าตัวแปรที่ไม่ได้กำหนดทั้งหมดมีค่าเท่ากับ 0 โดยอัตโนมัติ ซึ่งภาษาโปรแกรมสมัยใหม่ส่วนใหญ่จะส่งคืนข้อผิดพลาด สิ่งที่เธอตั้งใจคือ " " แต่เธอจำกัดตัวเองให้ใช้ตัวแปรเป็นเทอมเท่านั้น ในทำนองเดียวกัน ในขั้นตอนที่ 8 ( ) สัญกรณ์ที่เข้มงวดของเลขคณิตสองเทอมกลายเป็นเรื่องยุ่งยาก เนื่องจากในการกำหนดเป็น 2 Lovelace กำหนดค่า (0) ให้กับตัวเองบวก(2) เนื่องจากการกำหนดสัญลักษณ์ที่จำกัดนี้ จึงทำให้มีการกำหนดเช่นนี้

หมายเหตุ

  1. ^ชื่อเต็มคือ "แผนภาพสำหรับการคำนวณโดยเครื่องคำนวณของเบอร์นูลลี" แต่ เรียกกัน โดยทั่วไปว่า "หมายเหตุ G"
  2. ^ในบันทึกความทรงจำ ตัวอักษรย่อของเธอถูกพิมพ์ผิดเป็น "ALL" [ 17 ]
  3. ^ตัวแปรเหล่านี้ในทางเทคนิคหมายถึงคอลัมน์ของแผ่นดิสก์ ตามคำแนะนำของ Babbage ว่าควรเขียนสัญลักษณ์แบบนั้น [ 23 ]

แหล่งที่มา

  • Stein, Dorothy K. (1984). "บันทึกของเลดี้เลิฟเลซ: ข้อความทางเทคนิคและบริบททางวัฒนธรรม" . Victorian Studies . 28 (1): 33– 67. ISSN  0042-5222 . JSTOR  3826758 .
  • วูลลีย์, เบนจามิน (กุมภาพันธ์ 1999), เจ้าสาวแห่งวิทยาศาสตร์: ความโรแมนติก เหตุผล และธิดาของไบรอน , AU: แพน แม็กมิลแลน, ISBN 978-0-333-72436-1สืบค้นข้อมูลเมื่อวันที่ 7 เมษายน 2556
  • Hertz, Paul (2009). "ศิลปะ รหัส และกลไกแห่งการเปลี่ยนแปลง" . Art Journal . 68 (1): 58– 75. doi : 10.1080/00043249.2009.10791336 . ISSN  0004-3249 . JSTOR  40598953 . S2CID  194010431 .
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Note_G&oldid=1360733499 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ หมายเหตุ G

หมายเหตุ G [ a ] ​​เป็น อัลกอริธึม คอมพิวเตอร์ ที่เชื่อกันว่าเป็นผลงานของ Ada Lovelace ซึ่งออกแบบมาเพื่อคำนวณ เลขเบอร์นูลลี โดยใช้ เครื่องวิเคราะห์เชิง สมมติฐานที่ออกแบบโดย...

ต้นทาง

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

การทำงาน

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

สัญกรณ์

ตารางของอัลกอริทึมจัดเรียงคำสั่งแต่ละคำสั่งตามลำดับ คำสั่งแต่ละคำสั่งแสดง ถึง การดำเนินการ หนึ่งครั้ง ที่กระทำกับสองเทอม คอลัมน์ที่สองระบุเฉพาะตัวดำเนินการที่ใช้ ตัวแปร จะถูกเขียนแทนด้วย " ", [ c ]...