An informal definition could be "a set of rules that precisely defines a sequence of operations."[11] which would include all computer programs, including programs that do not perform numeric calculations. Generally, a program is only an algorithm if it stops eventually.[12]
A prototypical example of an algorithm is Euclid's algorithm to determine the maximum common divisor of two integers; an example (there are others) is described by the flow chart above and as an example in a later section.
Boolos & Jeffrey (1974, 1999) offer an informal meaning of the word in the following quotation:
No human being can write fast enough, or long enough, or small enough† ( †"smaller and smaller without limit ...you'd be trying to write on molecules, on atoms, on electrons") to list all members of an enumerably infinite set by writing out their names, one after another, in some notation. But humans can do something equally useful, in the case of certain enumerably infinite sets: They can give explicit instructions for determining the nth member of the set, for arbitrary finite n. Such instructions are to be given quite explicitly, in a form in which they could be followed by a computing machine, or by a human who is capable of carrying out only very elementary operations on symbols.[13]
An "enumerably infinite set" is one whose elements can be put into one-to-one correspondence with the integers. Thus, Boolos and Jeffrey are saying that an algorithm implies instructions for a process that "creates" output integers from an arbitrary "input" integer or integers that, in theory, can be arbitrarily large. Thus an algorithm can be an algebraic equation such as y = m + n – two arbitrary "input variables" m and n that produce an output y. But various authors' attempts to define the notion indicate that the word implies much more than this, something on the order of (for the addition example):
Precise instructions (in language understood by "the computer")[14] for a fast, efficient, "good"[15] process that specifies the "moves" of "the computer" (machine or human, equipped with the necessary internally contained information and capabilities)[16] to find, decode, and then process arbitrary input integers/symbols m and n, symbols + and = ... and "effectively"[17] produce, in a "reasonable" time,[18] output-integer y at a specified place and in a specified format.
The concept of algorithm is also used to define the notion of decidability. That notion is central for explaining how formal systems come into being starting from a small set of axioms and rules. In logic, the time that an algorithm requires to complete cannot be measured, as it is not apparently related with our customary physical dimension. From such uncertainties, that characterize ongoing work, stems the unavailability of a definition of algorithm that suits both concrete (in some sense) and abstract usage of the term.
เป็นคำนิยามที่ไม่เป็นทางการ อาจเป็น " ชุดของกฎที่แน่นอน กำหนดลำดับของการดำเนินงาน . " [ 11 ] ซึ่งจะรวมถึงโปรแกรมคอมพิวเตอร์ ได้แก่ โปรแกรมที่ไม่ทำการคำนวณตัวเลข โดยทั่วไปแล้วโปรแกรมเป็นเพียงวิธีถ้ามันหยุดในที่สุด . [ 12 ]ตัวอย่างแบบอัลกอริทึมของยูคลิดเป็นขั้นตอนวิธีการตรวจสอบสูงสุดตัวหารร่วมของสองจำนวนเต็ม ; ตัวอย่าง ( มีคนอื่น ) คือการอธิบายโดยการไหลของแผนภูมิข้างต้น และเป็นตัวอย่างในส่วนในภายหลังboolos & Jeffrey ( 1974 , 1999 ) ให้ความหมายของคำที่ไม่เป็นทางการในใบเสนอราคาดังต่อไปนี้ไม่มีมนุษย์สามารถเขียนได้เร็วพอหรือนานพอ หรือภีษมะพอเล็ก ( ภีษมะ " เล็กลง เล็กลง โดยไม่มีขีดจำกัด . . . . . . . คุณต้องพยายามที่จะเขียนในโมเลกุล , อะตอม , อิเล็กตรอน " ) รายการสมาชิกทั้งหมดของเซตอนันต์ enumerably ด้วยการเขียนชื่อของพวกเขาหนึ่งหลังจากที่อื่นในบางสัญกรณ์ แต่มนุษย์สามารถทำอะไรได้ประโยชน์เท่า ๆ กัน ในกรณีที่บาง enumerably อนันต์ชุด : พวกเขาสามารถให้คำแนะนำที่ชัดเจนสำหรับการแลกสมาชิกของชุด สำหรับข้อจำกัดได้ เช่น คำสั่งจะได้รับค่อนข้างชัดเจน ในลักษณะที่พวกเขาสามารถตามคอมพิวเตอร์เครื่องหรือโดยมนุษย์ที่เป็น สามารถทำงานงานมากเพียงเบื้องต้นเกี่ยวกับสัญลักษณ์ [ 13 ]" ตั้ง " enumerably อนันต์เป็นหนึ่งที่มีองค์ประกอบที่สามารถใส่ลงในการติดต่อแบบเต็ม . ดังนั้น boolos และเจฟฟรีย์ บอกว่าอัลกอริทึมบางคําแนะนําสําหรับกระบวนการที่ " สร้าง " ผลผลิตจำนวนเต็มจากโดยพลการ " นำเข้า " จำนวนเต็มหรือจำนวนเต็มนั้น ในทางทฤษฎี สามารถสุ่มใหญ่ ดังนั้นวิธีที่สามารถสมการพีชคณิต เช่น y = m + n - สองโดยพลการ " ใส่ตัวแปร " M และ N ที่ผลิตออกวาย แต่ผู้เขียนต่าง ๆพยายามที่จะกำหนดความคิดที่บ่งชี้ว่า คําที่มีมากกว่านี้ บางอย่างในการสั่งซื้อของ ( 1 ตัวอย่าง ) :คำแนะนำที่แม่นยำ ( ในภาษาเข้าใจ " คอมพิวเตอร์ " ) [ 14 ] ให้รวดเร็ว มีประสิทธิภาพ กระบวนการ " ดี " [ 15 ] ที่ระบุ " ย้าย " ของ " คอมพิวเตอร์ " ( เครื่อง หรือมนุษย์ พร้อมกับจำเป็นภายในบรรจุข้อมูลและความสามารถ ) [ 16 ] ค้นหา , ถอดรหัส , และจากนั้น กระบวนการโดยพลการป้อนข้อมูลจำนวนเต็ม / สัญลักษณ์ และสัญลักษณ์ + และ = . . . . . . . และ " มีประสิทธิภาพ " [ 17 ] ผลิตในเวลาที่เหมาะสม " , [ 18 ] เป็นเอาต์พุต Y ที่สถานที่ที่ระบุไว้และในรูปแบบที่ระบุแนวคิดนี้จะใช้ในการกำหนดความคิดของ decidability . ความคิดนั้นเป็นศูนย์กลางสำหรับการอธิบายวิธีการจำแนกระบบเข้ามาอยู่ตั้งแต่ตั้งขนาดเล็ก กฎ หลักการและ ในตรรกะ เวลาที่อัลกอริทึมต้องให้เสร็จสมบูรณ์ ไม่สามารถวัดได้ มันไม่ชัดที่เกี่ยวข้องกับมิติทางกายภาพของเราจารีตประเพณี จากความไม่แน่นอนดังกล่าว ซึ่งลักษณะการทำงานอย่างต่อเนื่อง , ต้น unavailability ของคำนิยามของขั้นตอนวิธีที่เหมาะสมกับทั้งรูปธรรม ( ความรู้สึกบางอย่าง ) และการใช้ที่เป็นนามธรรมของระยะ
การแปล กรุณารอสักครู่..
