การคำนวณคืออะไร?


20

ฉันรู้ว่าการคำนวณแบบใดที่คลุมเครือ (เป็นสิ่งที่คอมพิวเตอร์ทำ) แต่ฉันต้องการคำจำกัดความที่เข้มงวดยิ่งขึ้น

Dictionary.comคำจำกัดความของการคำนวณการคำนวณและการคำนวณเป็นแบบวงกลมดังนั้นจึงไม่ช่วย

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

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

ดังนั้นการคำนวณคืออะไร?


นั่นเป็นคำถามที่ดีและคลาสสิค
Ran G.

ทำซ้ำหรือไม่
กราฟิลส์

@ ราฟาเอลเท่าที่ฉันรู้การคำนวณ! = อัลกอริทึม บางทีการประมวลผลของอัลกอริทึมก็คือการคำนวณ
Kelmikra

สำหรับฉัน "P คำนวณได้" == "มีอัลกอริทึมที่แก้ P" (สำหรับ P ปัญหาบางอย่าง) นี่อาจเป็นผลมาจากมุมมอง TCS ของฉัน
Raphael

@Raphael นี่เป็นการถามว่าการคำนวณคืออะไรไม่ใช่ความหมายของการคำนวณ P
Kelmikra

คำตอบ:


6

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

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

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


2
ค่อนข้างนอกหัวข้อ แต่ฉันพนันได้เลยว่าแบบจำลองการวางระเบิดนั้นเป็นทัวริงสมบูรณ์! การระเบิดสามารถตั้งปิดการระเบิดอื่น ๆ ซึ่งสามารถใช้เพื่อเผยแพร่สัญญาณและสร้างหรือประตู Bomb b สามารถตั้งค่าให้ระเบิดได้ตามเวลาที่กำหนดผ่านอุปกรณ์ แต่ระเบิดใกล้ ๆ สามารถปิดการใช้งานอุปกรณ์ได้ในขณะที่ไม่ทำให้ b ต้องระเบิดซึ่งทำให้ไม่ผ่านประตู
Kelmikra

@ Kyth'Py1k ชอบประตูโดมิโน? ฉันไม่คิดว่ามันจะสมบูรณ์แบบเพราะคุณไม่สามารถวนซ้ำไปเรื่อย ๆ เพราะ "การคำนวณ" จะหยุดตามขนาดของเครื่องจักร / เขตที่วางทุ่นระเบิดเสมอ
ratchet freak

1
@ ratchetfreak ไม่เว้นว่าระเบิดจะถูกสร้างเป็นระเบิดใหม่ผ่านทาง nanobots ในพวกเขาและเปลี่ยนตำแหน่ง ...
Kelmikra

4

นี่เป็นคำถามที่ทัวริงออกเดินทางเพื่อแก้ปัญหาในหนังสือพิมพ์ชื่อดังของเขาในปี 1936 โดยคำนวณจากตัวเลขของ Entscheidungsproblemซึ่งเป็นกระดาษที่เขาเขียนขึ้นมา ดูในส่วนที่ 9 โดยเฉพาะ

งานของทัวริงอยู่ในบริบทของตัวเลขที่คำนวณได้ มีแนวคิดการคำนวณอื่น ๆ ที่เหมาะสมสำหรับการคำนวณโครงสร้างชนิดอื่นและการศึกษาของพวกเขาเป็นส่วนหนึ่งของทฤษฎีการคำนวณ (หรือที่เรียกว่าทฤษฎีการเรียกซ้ำ)

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

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


แน่นอนว่าการระเบิดเป็นการคำนวณ มัน "คำนวณ" การเปลี่ยนแปลงแบบรวมที่อธิบายการระเบิด BTW หลายครั้งที่นักฟิสิกส์ที่ฉันพบคือ "อารมณ์เสีย" เมื่อคุณพูดว่า (พูด) ควอนตัมเกตบางตัวคำนวณรวมกันแทนที่จะพัฒนาหรือเปลี่ยนระบบกายภาพตาม ( ประตูจะใช้ปากกาและกระดาษและคำนวณ รวมกัน "?) :)
Ran G.

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

"สิ่งที่คุณคำนวณด้วยระเบิดระเบิด" การเปลี่ยนแปลงสถานะของอนุภาครอบระเบิดตามกฎของฟิสิกส์กำลังคำนวณ
Kelmikra

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

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

1

ABxAyBxAx

xxyxy

t=0t=1

Bottom line: การจับคู่ใด ๆ กำหนดการคำนวณ "อุปกรณ์" ใด ๆ ที่แปลงอินพุตเป็นเอาต์พุตที่สอดคล้องกันดำเนินการ ("คำนวณ") การคำนวณเฉพาะนั้น



(1)เราสามารถขยายการอภิปรายไปยังการคำนวณประเภทนี้ซึ่งจะสมเหตุสมผลเมื่อคุณคิดเกี่ยวกับ funcitons ที่ไม่เกิดซ้ำ แต่ฉันชอบที่จะไม่ไปที่นั่น


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

IMHO การทำแผนที่เป็นสิ่งที่การคำนวณนั้นไม่ตรง ฉันคิดว่าคุณสับสนไวยากรณ์และความหมาย ชัดเจนว่าคุณเข้าใจการทำแผนที่เป็นความสัมพันธ์อินพุทเอาท์พุทที่กำหนดไว้ จากหนังสือทั้งหมดของฉันนั่นคือความหมาย การคำนวณเป็นวิธีที่ใช้ในการรับเอาท์พุทที่สอดคล้องกับอินพุตบางส่วนผ่านลำดับขั้นตอน ในขณะที่คุณอาจบอกว่าการคำนวณใด ๆ กำหนดการแมป (ถ้าเป็นเพียงวากยสัมพันธ์) ฉันคิดว่ามันผิดที่จะพิจารณาว่าการแมปกำหนดการคำนวณเว้นแต่คุณจะอธิบายอย่างรอบคอบว่าคุณกำลังเข้าสู่การประมวลผลไฮเปอร์คอมพิวเตอร์
Babou

ฉันควรอธิบายจิตวิญญาณของคำตอบของฉัน (ฉันรู้ว่ามันไม่ได้พูดแบบนั้น): การทำแผนที่เองไม่ใช่การคำนวณ กระบวนการของการแปลงการป้อนข้อมูลเข้าออกคือการคำนวณของการทำแผนที่เฉพาะที่ (ฟังก์ชั่นบริการ) สิ่งที่ฉันพยายามสื่อคือกระบวนการเฉพาะนั้นมีความเกี่ยวข้องกระบวนการใด ๆ นั้นเป็นการคำนวณ (แม้แต่นามธรรมอย่างหนึ่งเช่น "oracle")
Ran G.

1

ฉันจะไม่พยายามกำหนดว่าการคำนวณคืออะไรซึ่งทำได้ค่อนข้างดีโดย Luke Mathieson และ Yuval Filmus

อย่างไรก็ตามการคิดเกี่ยวกับอุปกรณ์การระเบิดในฐานะการคำนวณทำให้ฉันมีปัญหาด้านที่สำคัญ: หากการระเบิดเป็นการคำนวณแล้วมันจะคำนวณอะไร นอกเหนือจากการเป็นตัวแทนของอุปกรณ์หลังจากที่มันระเบิด

สิ่งที่ฉันตั้งเป้าหมายคือเราสามารถกำหนดสิ่งที่เราถือว่าเป็นการคำนวณได้อย่างแม่นยำและแม้กระทั่งสิ่งที่สามารถมองเห็นได้ เราสามารถอธิบายการคำนวณ แต่เราสามารถบอกได้ว่ามันคืออะไรการคำนวณ?

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

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

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

การคำนวณเดียวกันหรือคำอธิบายที่เหมือนกันของการคำนวณที่แม่นยำมากขึ้นจริง ๆ แล้วอาจมีหลายรุ่นที่สอดคล้องกับเอนทิตีที่แตกต่างกันมาก

ตัวอย่างเช่นอัลกอริทึม GCD อธิบายการคำนวณ แต่มันอาจถูกตีความในจำนวนธรรมชาติหรือบนพหุนาม

นี่เป็นการเตือนของBertrand Russell'quote :

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

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

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

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

อย่างไรก็ตามสิ่งนี้ไม่เป็นความจริงเสมอไปหรือไม่จริง หลักการของการคำนวณแบบอะนาล็อกขึ้นอยู่กับความคิดที่ว่าระบบการเป็นตัวแทนที่แตกต่างกันสามารถนำมาใช้สำหรับการคำนวณที่เกี่ยวข้องอย่างแม่นยำ จากนั้นเราสามารถคำนวณด้วยระบบหนึ่งเพื่อให้ทราบว่า sytem อื่น ๆ (เกินความจริงเกินกว่าที่จะใช้จริง ๆ เช่นจักรวาล :) จะคำนวณในการตั้งค่าที่สอดคล้องกัน


0

ฉันชอบที่จะตอบคำถามประเภทนี้เกี่ยวกับคำศัพท์ในแง่ของชาติพันธุ์

ดังนั้นการคำนวณมาจากคำภาษาละตินcompŭtusซึ่งหมายถึง "การคำนวณ" ตามตัวอักษร

ในภาษาละตินเช่นฝรั่งเศส, อิตาลี, สเปนหรือโปรตุเกส (กลุ่มอื่น ๆ ) ชาติพันธุ์วิทยานี้ใช้ร่วมกับ "เรื่อง" (เรื่อง) ในภาษาฝรั่งเศส compte / conte ในภาษาสเปน cuenta / ภาษาสเปนในโปรตุเกส / conto ฯลฯ ...

ดังนั้นในการคำนวณคือการคำนวณและบอกวิธีการคำนวณนี้เสร็จสิ้น

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


ในฝรั่งเศสเรื่องคือ "conte", "cuento" ในภาษาสเปน ในขณะที่ "compte" เป็นการคำนวณหรือใบเรียกเก็บเงิน "cuenta" เป็นภาษาสเปน ฉันไม่ทราบว่าถึงแม้ว่า homophones, "compte" และ "conte" จะใช้นิรุกติศาสตร์ทั่วไป (ไม่ใช่ "h" afaik) แต่คำศัพท์ทั่วไปนี้ดูเหมือนจะได้รับการยืนยันบนเว็บ ดังนั้นธุรกิจการคำนวณทั้งหมดนี้เป็นเพียงนิทาน?
Babou

Je l'ai corrigé ฉันควรจะไม่ทำผิดแบบนี้ แต่ฉันก็ยังไม่ค่อยเก่งนักเขียนภาษาฝรั่งเศส
Luis Sieira

หรือนิทานอาจเป็นเพียงการคำนวณ คุณนำตัวละครที่มีบุคลิกภาพที่กำหนดในเงื่อนไขเริ่มต้นบางส่วนและส่วนที่เหลือของเรื่องนี้จะคำนวณ
Luis Sieira

"การติดตามว่าข้อมูลใหม่นี้ถูกสร้างขึ้นอย่างไร (ตัวประมวลผลหน่วยความจำอินพุตและเอาต์พุตนั้นเป็นพื้นฐานที่เกี่ยวข้อง)" สิ่งนี้ไม่ได้หมายความว่ามีอะไรบางอย่างที่ไม่ใช่การคำนวณนอกเสียจากว่าใครจะติดตามการใช้งานหน่วยความจำของพวกเขาในขณะที่ทำมันอยู่? แต่นั่นไม่ได้เสียงที่ถูกต้อง ...
Kelmikra
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.