පරිගණක කේත ලිවීමට වඩා ගණිතමය සාක්ෂි ලිවීම වැරදිසහගත බව ඔප්පු කරන්නේ ඇයි?


200

දෝෂයකින් තොරව පරිගණක වැඩසටහනක් ලිවීමට වඩා ගණිතමය සාක්ෂි කිසිදු වැරැද්දකින් තොරව ලිවීම පහසු බව මම දැක ඇත්තෙමි.

මෙය මගේ අත්දැකීමට වඩා පුළුල් දෙයක් බව පෙනේ. බොහෝ අය ඔවුන්ගේ වැඩසටහන්කරණයේ සෑම විටම මෘදුකාංග දෝෂ ඇති කරන අතර, වැරැද්ද කුමක්දැයි ඔවුන්ට පැවසීමට සම්පාදකයා සතුව ඇත. විශාල පරිගණක වැඩසටහනක් එකවර වැරදීමකින් තොරව ලියා ඇති බවත්, එය දෝෂ රහිත බවට පූර්ණ විශ්වාසයක් ඇති අයෙකු ගැන මා අසා නැත. (ඇත්ත වශයෙන්ම, කිසිදු වැඩසටහනක් දෝෂ රහිත ය, බොහෝමයක් නිදොස් කරන ලද ඒවා වුවද).

එහෙත් කිසිදු සම්පාදකයෙකු තමන් වැරැද්දක් කළ බවට ප්‍රතිපෝෂණය ලබා නොදී සහ සමහර විට අනෙක් අයගෙන් ප්‍රතිපෝෂණය ලබා නොගෙන ගණිතමය සාක්‍ෂි පොත් ලිවීමට මිනිසුන්ට හැකිය.

මට පැහැදිලි වීමට ඉඩ දෙන්න. ගණිතමය සාධනයන්හි මිනිසුන් වැරදි නොකරන බව මින් අදහස් නොකෙරේ, නමුත් තරමක් පළපුරුදු ගණිත ians යින්ට පවා, වැරදි සාමාන්‍යයෙන් එතරම් ගැටලු සහගත නොවන අතර, ඔබේ ඇඟිල්ල දිගු කරන සම්පාදකයෙකු වැනි සමහර “බාහිර ඔරකල්” ආධාරයෙන් තොරව විසඳිය හැකිය. වැරැද්ද.

ඇත්ත වශයෙන්ම, මෙය එසේ නොවේ නම්, ගණිතය කලාතුරකින් විය හැකි බව මට පෙනේ.

එබැවින් මෙය මට ප්‍රශ්නය ඇසීමට මඟ පෑදීය: දෝෂ රහිත ගණිතමය සාක්‍ෂි ලිවීම සහ දෝෂ රහිත පරිගණක කේත ලිවීම අතර ඇති වෙනස කුමක්ද? එමඟින් කලින් සඳහන් කළ ඒවාට වඩා බොහෝ දේ කළ හැකි ය.

කෙනෙකුට පැවසිය හැක්කේ, සම්පාදකයෙකුගේ “බාහිර වාචාලය” මිනිසුන් සතුව ඇති බැවින් ඔවුන්ගේ වැරදි වෙත යොමු කරමින් ක්‍රමලේඛකයින් කම්මැලි වන අතර කේතය තදින් ලිවීමට අවශ්‍ය දේ කිරීමෙන් වලක්වනු ඇත. මෙම මතය අදහස් කරන්නේ ඔවුන් සතුව සම්පාදකයෙකු නොමැති නම් ගණිත ians යන් තරම් දෝෂ රහිත විය හැකි බවයි.

ඔබට මෙය ඒත්තු ගැන්විය හැකි නමුත් මගේ අත්දැකීම් ක්‍රමලේඛනය හා ගණිතමය සාක්ෂි ලිවීම මත පදනම්ව, මෙය සැබවින්ම පැහැදිලි කිරීමක් නොවන බව මට සිතේ. මෙම උත්සාහයන් දෙක සම්බන්ධයෙන් වඩා මූලික වශයෙන් වෙනස් දෙයක් ඇති බව පෙනේ.

මගේ ආරම්භක සිතුවිල්ල නම්, වෙනස කුමක් විය හැකිද යන්නයි, ගණිත ian යෙකුට නිවැරදි සාක්ෂියක් අවශ්‍ය වන්නේ සෑම තාර්කික පියවරක්ම නිවැරදි වීමට පමණි. සෑම පියවරක්ම නිවැරදි නම්, සම්පූර්ණ සාක්ෂි නිවැරදි ය. අනෙක් අතට, වැඩසටහනක් දෝෂ රහිත වීමට නම්, සෑම කේත පේළියක්ම නිවැරදි විය යුතු පමණක් නොව, වැඩසටහනේ අනෙක් සෑම කේත රේඛාවකටම එහි සම්බන්ධතාවයද ක්‍රියාත්මක විය යුතුය.

වෙනත් වචන වලින් කිවහොත්, සාධනයක පියවර නිවැරදි නම්, පියවරෙහි වැරැද්දක් කිරීම පියවර කිසි විටෙකත් අවුල් නොකරනු ඇත . නමුත් කේතයේ රේඛාවක් නිවැරදිව ලියා ඇත්නම්, පේළියේ වැරැද්දක් කිරීම පේළියේ ක්‍රියාකාරීත්වයට බලපානු ඇත , එවිට අපි පේළිය ලියන සෑම අවස්ථාවකම අනෙක් සියලුම රේඛා සමඟ එහි සම්බන්ධතාවය සැලකිල්ලට ගත යුතුය. මෙය සීමා කිරීම සඳහා අපට සංසරණය සහ ඒ සියල්ල භාවිතා කළ හැකිය, නමුත් එය සම්පූර්ණයෙන්ම ඉවත් කළ නොහැක.XYXXYXX

මෙයින් අදහස් කරන්නේ ගණිතමය සාධනයක දෝෂ පරික්ෂා කිරීමේ ක්‍රියා පටිපාටිය අත්‍යවශ්‍යයෙන්ම සාධනය-පියවර ගණනෙහි රේඛීය වන නමුත් පරිගණක කේතයේ දෝෂ පරීක්ෂා කිරීමේ ක්‍රියා පටිපාටිය අත්‍යවශ්‍යයෙන්ම කේත රේඛා ගණනෙහි on ාතීය වේ.

ඔයා සිතන්නේ කුමක් ද?

සටහන: මෙම ප්‍රශ්නයට විවිධ කරුණු සහ දෘෂ්ටි කෝණයන් ගවේෂණය කරන පිළිතුරු විශාල සංඛ්‍යාවක් ඇත. ඔබ පිළිතුරු දීමට පෙර, කරුණාකර ඒවා සියල්ලම කියවා ඔබට අලුත් යමක් එකතු කිරීමට ඇත්නම් පමණක් පිළිතුරු දෙන්න. අතිරික්ත පිළිතුරු, හෝ කරුණු සමඟ අදහස් උපස්ථ නොකරන පිළිතුරු මකා දැමිය හැකිය.


3
කඩදාසි සඳහා සහ ප්‍රමේය ප්‍රොවර්ස්වල යාන්ත්‍රික කර ඇති වැඩසටහන් සඳහා නිවැරදි බව පිළිබඳ සාක්ෂි ඔබ දන්නවාද? මේ දෙකම පවතින අතර ඔබගේ යාවත්කාලීනයට පටහැනි වේ. සත්‍යය නම්, පොදුවේ උගන්වන ආකාරයට ක්‍රමලේඛනය නිරවද්‍යතා සාක්ෂි සහිත වැඩසටහන්කරණය සමඟ එතරම් සම්බන්ධයක් නැති බවයි.
බ්ලයිසෝර්බ්ලේඩ්

83
නුත් උපුටා දැක්වීමක් මට මතක් කර දෙයි, "ඉහත කේතය ගැන පරිස්සම් වන්න! මම එය නිවැරදි බව ඔප්පු කළෙමි, මම එය කිසි විටෙකත් අත්හදා බැලුවේ නැත"
හේගන් වොන් එයිට්සන්

අදහස් දීර් discussion සාකච්ඡාවක් සඳහා නොවේ; මෙම සංවාදය චැට් කිරීමට ගෙන ගොස් ඇත .
ගිලෙස්ගේ SO- නපුරු වීම නවත්වන්න '

7
පේළි මිලියන 100 ක් දිග සහ "දෝෂ" නොමැති අතින් ලියන ලද ගණිතමය සාක්ෂියක් මට සොයා ගන්න, මා සතුව ඇති සියල්ල මම ඔබට දෙන්නෙමි.
ඩාවෝර්

1
ක්‍රියාකාරී වැඩසටහන් සාක්ෂි වලට වඩා ලිවීමට වඩා පහසු විය හැකිය, කෙසේ වෙතත්, තත්වය පැමිණි විගසම ... දුෂ්කරතාව පුපුරා යයි ...
aoeu256

Answers:


236

ඔබේ ප්‍රශ්නයට පිළිතුරක් ලෙස එක් හේතුවක් සහ වැරදි වැටහීමක් ඉදිරිපත් කිරීමට මට ඉඩ දෙන්න.

මෙම ප්රධාන හේතුව එය (පෙනෙන පරිදි) නිවැරදි ගණිතමය සාධකයන් ලිවීමට පහසු බව ඔවුන් ඉතා ඉහළ මට්ටමක ලිඛිත සිටින බව ය. ඔබට මෙවැනි වැඩසටහනක් ලිවිය හැකි යැයි සිතමු:

function MaximumWindow(A, n, w):
    using a sliding window, calculate (in O(n)) the sums of all length-w windows
    return the maximum sum (be smart and use only O(1) memory)

මේ ආකාරයෙන් ක්‍රමලේඛනය කිරීමේදී වැරැදි කිරීම වඩා දුෂ්කර වනු ඇත, මන්ද වැඩසටහනේ පිරිවිතර එය ක්‍රියාත්මක කිරීමට වඩා සංක්ෂිප්ත ය . ඇත්ත වශයෙන්ම, ව්‍යාජ කේතය කේතයක් බවට පරිවර්තනය කිරීමට උත්සාහ කරන සෑම ක්‍රමලේඛකයෙකුටම, විශේෂයෙන් කාර්යක්ෂම කේතයකට, ඇල්ගොරිතමයක අදහස සහ එය ක්‍රියාත්මක කිරීමේ තොරතුරු අතර මෙම විශාල පරතරය ඇති වේ. ගණිතමය සාධනයන් අදහස් කෙරෙහි වැඩි අවධානයක් යොමු කරන අතර සවිස්තරාත්මකව අඩුය.

ගණිතමය සාධනයන් සඳහා කේතයේ සැබෑ ප්‍රතිමූර්තිය වන්නේ පරිගණක ආධාරක සාක්ෂි ය . මේවා සාමාන්‍ය පෙළ සාක්‍ෂි වලට වඩා සංවර්ධනය කිරීම දුෂ්කර වන අතර, බොහෝ විට පා hidden කයාට “පැහැදිලිව පෙනෙන” (සාමාන්‍යයෙන් ඒවා නොදකින) විවිධ සැඟවුණු කොන් සොයා ගනී, නමුත් පරිගණකයට එතරම් පැහැදිලිව පෙනෙන්නට නැත. එසේම, පරිගණකයට වර්තමානයේදී සාපේක්ෂව කුඩා හිඩැස් පමණක් පිරවිය හැකි බැවින්, ඒවා කියවන මිනිසෙකුට ගස් සඳහා වනාන්තරය අහිමි වන තරමට සාක්ෂි විස්තාරණය කළ යුතුය.

වැදගත් වැරදි වැටහීමක් නම් ගණිතමය සාක්ෂි බොහෝ විට නිවැරදි බවය. ඇත්ත වශයෙන්ම, මෙය බොහෝ දුරට ශුභවාදී ය. වැරදි නොමැතිව සංකීර්ණ සාක්ෂි ලිවීම ඉතා අසීරු වන අතර පුවත්පත්වල බොහෝ විට දෝෂ අඩංගු වේ. සමහර විට වඩාත් කීර්තිමත් මෑත නඩු මත, සමහරක් පිටු විසින් 1000+ ඇතුළු පරිමිත සරල කණ්ඩායම්, වර්ගීකරණය විවිධ හිඩැස් දී Wiles '' පළමු උත්සාහය (විශේෂ නඩුව) (ලෙස සාධාරණීකරණය අවසාන ප්රමේයය ගම්ය වන) හී ප්රමේයය, සහ ය quasithin කණ්ඩායම් සිටි වර්ගීකරණය අවසන් වී වසර 20 කට පසුව ලියා ඇත.

Voevodsky ක පත්රයේ වැරැද්දක් ඔහු එතරම් ඔහු සංවර්ධනය ආරම්භ ලියා සාධකයන් සැක කළ homotopy වර්ග වාදය , නිල වශයෙන් homotopy න්යාය සංවර්ධනය සඳහා ප්රයෝජනවත් තාර්කික රාමුව, හා මින් ඉදිරියට තහවුරු කිරීමට පරිගණක භාවිතා සියලු අවම වශයෙන් තම අනුව ඔහු ඊළඟට වැඩ ( ඇතුළත් කිරීම). මෙය ආන්තික (සහ වර්තමානයේ, ප්‍රායෝගික නොවන) තත්වයක් වුවද, ප්‍රති result ලයක් භාවිතා කරන විට, යමෙකු සාධනය ඉක්මවා ගොස් එය නිවැරදි දැයි පරීක්ෂා කළ යුතුය. මගේ ප්‍රදේශයේ වැරදි යැයි දන්නා නමුත් කිසි විටෙකත් ආපසු ලබා නොගත් ලිපි කිහිපයක් තිබේ, ඒවායේ තත්වය විශේෂ .යන් අතර මුඛයේ සිට කණ දක්වා විහිදේ.


1
අනාගතයේදී ඔබේ කේතය සහ සාධනය යන දෙකම පරීක්ෂා කිරීමට සාක්ෂි සහායකයින් යොදා ගත හැකිද? සමහර විට ඔබ ඇග්ඩා ඉගෙන ගැනීමට කාලය පැමිණ තිබේද? (සමාවෙන්න ...)
ඇලෙක්ස් වොං

3
Lex ඇලෙක්ස්වොන්ග් හි ඇති එක් ගැටළුවක් නම්, සුළු නොවන කේත සඳහා විධිමත් පිරිවිතරයක් ලිවීමයි (එවිට කේතය ඇත්ත වශයෙන්ම පිරිවිතරයන් සපුරාලන බව ඔබට තහවුරු කර ගත හැකිය). උදාහරණයක් ලෙස, බ්‍රව්සරයක් සඳහා විධිමත් පිරිවිතරයක් (සියලු පරිශීලක අන්තර්ක්‍රියා, සියලු සහය දක්වන ගොනු ආකෘති සහ ප්‍රොටෝකෝල ආදිය ඇතුළුව) කෙතරම් සංකීර්ණ වනු ඇත්දැයි ඔබට සිතාගත හැකිද?
svick

2
@svick ඔබ හරි, පරිශීලක අන්තර්ක්‍රියා සඳහා, නිවැරදි හැසිරීම කුමක් විය යුතුද යන්න සමහර විට පැහැදිලි නැත. එබැවින් අපි ඒ වෙනුවට නිසි විධිමත් පිරිවිතරයක් සහිත (උදා: සාධනය, සම්පාදක) යමක් කෙරෙහි අවධානය යොමු කළ යුතුය.
ඇලෙක්ස් වොං

1
ක්‍රියාකාරී භාෂාවන් වැඩි නිරාවරණයක් ලබා ගැනීම සඳහා (මේ අවස්ථාවේ දී Clojure), මෙය O(n*w)වෙනුවට O(n): (defn maximum-window [data w] (->> data (partition w 1) (map #(reduce + %)) (reduce max))). O(n)ක්‍රියාත්මක කිරීම අපහසු නැත, නමුත් එය ව්‍යාජ කේතය එතරම් හොඳින් අනුගමනය නොකරයි.
NikoNyrh

1
ඇත්ත වශයෙන්ම. ඉහළ මට්ටමේ, වියුක්ත භාෂාවල කේතීකරණයට වඩා බොහෝ අය පහළ මට්ටමේ භාෂාවල කේතීකරණය වඩා වෙහෙසකර හා විනෝදජනක වන්නේ ඇයිද යන්න පැහැදිලි කිරීමක් විය හැකිය. එය පුද්ගලයාට ද වෙනස් විය හැකි වුවත්, ඇත්ත වශයෙන්ම (සමහරු ඒවා ක්‍රියාත්මක වන මෘදුකාංග ලිවීමට වඩා ඉතා පහත් මට්ටමේ දෘඩාංග / ඉලෙක්ට්‍රොනික පරිපථ තැනීමට පවා කැමති විය හැකිද? එසේම, පහළ මට්ටමේ කේතය බොහෝ අවස්ථාවන්හිදී නැවත කළ නොහැකි අතර එය හොඳින් ලිවිය හැකිය. තනිවම ප්‍රශංසා කිරීමට සුදුසු හිඟ නිපුණතාවයක් / කාර්යයක් විය හැකිය).
xji

81

(මෙය නිසි පිළිතුරක් ලබා දීමට මට කාලය / උනන්දුවක් නොමැති බැවින් මම මෙහි අඩු අගයන් කිහිපයක් අවදානමට ලක් කරමි, නමුත් පහත සඳහන් පා text ය (සහ ඉතිරි ලිපියේ සඳහන් කර ඇති) තරමක් තීක්ෂ්ණ බුද්ධියක් ඇති බව මට පෙනේ. සුප්‍රසිද්ධ ගණිත ian යෙකු විසින්. සමහර විට මට පසුව පිළිතුර වැඩි දියුණු කළ හැකිය.)

දැනට පවතින පිළිතුරට වඩා විශේෂයෙන් වෙනස් නොවන බව මා සිතන අදහස නම්, “සාධනය” හෝ තර්කය ගණිත ප්‍රජාවකට සන්නිවේදනය කිරීමයි, එහිදී අරමුණ වන්නේ (වෙහෙසකාරී) තොරතුරු පුරවා ගත හැකි බව ඔවුන්ට ඒත්තු ගැන්වීම, ප්‍රතිපත්තිමය වශයෙන්, සම්පුර්ණයෙන්ම නිශ්චිත විධිමත් සාක්ෂියක් ලබා ගැනීම සඳහා - බොහෝ විට එසේ නොකර. මෙහි එක් තීරණාත්මක අවස්ථාවක් නම්, පවතින ප්‍රමේයයන් සරලව සඳහන් කිරීමෙන් ඔබට ඒවා භාවිතා කළ හැකි නමුත් කේත නැවත භාවිතා කිරීම පොදුවේ වඩා අභියෝගාත්මක ය. සුළු "දෝෂ" ද සලකා බලන්න, එය කේතයක් නිෂ් less ල ලෙස විදහා දැක්විය හැකිය (උදා: එය SEGFAULTs) නමුත් ගණිතමය තර්කයක් බොහෝ දුරට නොවෙනස්ව පැවතිය හැකිය (එනම්, තර්කය බිඳවැටීමකින් තොරව දෝෂය අඩංගු විය හැකි නම්).

පරිගණක වැඩසටහනක් කිසිසේත් වැඩ කිරීමට අවශ්‍ය නිවැරදිභාවය සහ සම්පූර්ණත්වය පිළිබඳ ප්‍රමිතිය ගණිත ප්‍රජාවේ වලංගු සාක්ෂි ප්‍රමිතියට වඩා විශාලත්වයේ ඇණවුම් කිහිපයක් වේ. එසේ වුවද, විශාල පරිගණක වැඩසටහන්, ඒවා ඉතා පරිස්සමින් ලියා ඇති අතර ඉතා පරිස්සමින් පරීක්ෂා කර ඇති විට පවා සෑම විටම දෝෂ ඇති බව පෙනේ. [...] ගණිතය අප පුරුදු කරන විට එය අනෙක් විද්‍යාවන්ට වඩා විධිමත් ලෙස සම්පූර්ණ හා නිරවද්‍ය ය, නමුත් එය පරිගණක වැඩසටහන් වලට වඩා විධිමත් ලෙස සම්පූර්ණ හා නිරවද්‍ය ය. වෙනස කළ යුත්තේ උත්සාහයේ ප්‍රමාණය සමඟ පමණක් නොවේ: උත්සාහය ගුණාත්මකව වෙනස් වේ. විශාල පරිගණක වැඩසටහන් වලදී, නොගැලපෙන අනුකූලතා ගැටළු සඳහා විශාල පරිශ්‍රමයක් වැය කළ යුතුය: සියලු නිර්වචන අනුකූල වන බවට වග බලා ගැනීම, “හොඳ” සංවර්ධනය කිරීම කාර්යයන් සඳහා “නිවැරදි” සාමාන්‍ය බව තීරණය කිරීම, ප්‍රයෝජනවත් නමුත් අවුල් සහගත පොදු බවක් ඇති දත්ත ව්‍යුහයන් යනාදිය. පොත් තැබීමේ කොටසින් වෙන් කොට ඇති පරිදි විශාල වැඩසටහනක වැඩ කරන කොටස සඳහා වැය කරන ශක්තියේ අනුපාතය පුදුම සහගත ලෙස කුඩා ය. ගැළපුම පිළිබඳ ගැටලු නිසා නොවැළැක්විය හැකි ලෙසම තීව්‍ර වන හෙයින් “නිවැරදි” නිර්වචන සාමාන්‍යය හා ක්‍රියාකාරීත්වය එකතු වන විට වෙනස් වන හෙයින් පරිගණක වැඩසටහන් සාමාන්‍යයෙන් නැවත නැවත ලිවිය යුතුය.

ගණිතය පිළිබඳ සාධනය සහ ප්‍රගතිය (පි. 9-10), විලියම් පී. තර්ස්ටන් විසිනි https://arxiv.org/pdf/math/9404236.pdf


3
“කේත නැවත භාවිතා කිරීම” පිළිබඳ කාරණය තරමක් දුරට සුදුසු ය. රුසියානු භාෂාවෙන් ඉංග්‍රීසි භාෂාවට දීර් proof සාක්ෂියක් පරිවර්තනය කිරීම සඳහා යතුරු ලියනය කිරීම අවශ්‍ය වේ . නමුත් විශාල පරිගණක වැඩසටහනක් C ++ සිට ජාවා වෙත පරිවර්තනය කිරීම සඳහා බොහෝ සිතුවිලි අවශ්‍ය වේ. පුරාණ ග්‍රීක භාෂාවෙන් අවුරුදු 3000 ක් පැරණි සාක්ෂියක් නැවත නැඟිටුවීම පහසුය. පීඑල් / 1 හි අවුරුදු 30 ක් පැරණි වැඩසටහනක් නැවත නැඟිටුවීම තරමක් දුෂ්කර හෝ දුෂ්කර ය.
Quuxplusone

2
පරිගණක වැඩසටහන්, එය භාවිතා කරන්න: පුරාණ ග්රීක උදාහරණයක් මට ද අවබෝධ කර ටොන් වැනි දේශීය වයවහාර හා colloquialisms ක, (void*)1සහ open('/dev/null')පවා, විවිධ උපසංස්කෘති අතර එහා මෙහා ගෙන යා හැකි විය නොහැකි ගමනාන්තය භාෂාවට පමණක් translatable ඉඩ ඇති. (පා experience කයාට දිගු අත්දැකීම් වලින් ඔවුන්ගේ ආසන්න අර්ථකථන ලබා ගත යුතුය.) ගණිතමය සාක්ෂි වල මේ ආකාරයේ “ස්ලැන්ග්” අඩුවෙන් අඩංගු වේ. සාක්ෂියක් වචනයක් භාවිතා කරයි නම්, එහි සැබෑ විශ්වීය අර්ථය වන්නේ යැයි කියනු කෙසේ හෝ පාඨකයා විසින් විට පරාජයේ මාවතට විය. පරිගණක වැඩසටහන් වලට විශ්වීය අර්ථයන් පවා නැත !
Quuxplusone

1
+1, මන්ද නිර්මාණාත්මකවාදියෙකු ලෙස , අත්තනෝමතික ලෙස විශාල අගයකින් වෙනස් හි අධික ලෙස උපකල්පනය කිරීම මට ගෙඩි ගසයි. ගණිත ians යින් අනන්ත ශ්‍රේණියක් ගැන කතා කිරීමට පටන් ගෙන එම ශ්‍රේණි මත පදනම්ව තර්ක ඉදිරිපත් කරන විට මෙය සැඟවුණු 0 සමඟ සමාන්තරව දෝෂයක් ඇති කරන විට මෙය අගය මට්ටමේ වැරැද්දක සිට තාර්කික වැරැද්දක් දක්වා ඉහළ යයි. වැරැද්ද. 00
Nat

At ඔබට විස්තර කළ හැකිද? මට ඒක තේරෙන්නේ නැහැ.
ග්‍රෙගරි මාගර්ෂක්

Reg ග්‍රෙගරි මාගර්ෂාක් මෙම පිළිතුරෙන් පෙන්නුම් කළේ, ශ්‍රේණියේ ඉදිකිරීමේදී අනන්තය වලංගු යැයි උපකල්පනය කිරීම වැරදි වැටහීමකට තුඩු දෙන බවයි, එය මා විස්තර කළේ මෙය සැඟවුණු එකක් ලෙසය- වැරැද්ද00(විකිපීඩියා කොටසේ"වෙස්වළාගත්" අනුවාදය අඩු). සම්භාව්‍ය ගණිත ian යෙකුට පැවසිය හැක්කේ වැරැද්ද අනන්ත ශ්‍රේණියක් අභිසාරී වන බවයි. එහෙත් නිර්මාණශීලිවාදියෙකු වැරදි වැටහීම විස්තර කරන්නේ අනන්තය පිළිබඳ නුසුදුසු උපකල්පනයක් ලෙස ය.
Nat

58

ඊඩබ්ලිව් ඩිජ්ක්ස්ට්‍රා උපුටා දක්වමින් මට ආරම්භ කිරීමට ඉඩ දෙන්න:

"ක්‍රමලේඛනය ව්‍යවහාරික ගණිතයේ ඉතාම දුෂ්කර අංශවලින් එකකි. දුප්පත් ගණිත ians යන් පිරිසිදු ගණිත ians යින් ලෙස සිටීම හොඳය." (EWD498 වෙතින්)

ඩිජ්ක්ස්ට්‍රා 'ක්‍රමලේඛනය' යන්නෙන් අදහස් කරන්නේ වර්තමාන භාවිතයට වඩා තරමක් වෙනස් වුවත්, මෙම උපුටා දැක්වීමේදී යම්කිසි කුසලතාවයක් තවමත් පවතී. අනෙක් පිළිතුරු දැනටමත් සඳහන් කර ඇත්තේ ගණිතයේ වියුක්ත කිරීමේ මට්ටම වැඩසටහන්කරණයට වඩා බොහෝ ඉහළ මට්ටමක පැවතීමට ඉඩ දී ඇති බවයි, එයින් අදහස් කරන්නේ අපට එසේ කිරීමට අවශ්‍ය නම් සමහර උපක්‍රමශීලී කොටස් නොසලකා හැරිය හැකි බවයි.

කෙසේ වෙතත්, මම මේ හුදෙක්ම සාක්ෂි සහ ඔවුන්ගේ වන පරිගණක වැඩසටහනක්, අතර වඩාත් මූලික වෙනස ප්රතිඵලයක් බව විශ්වාස අරමුණ .

ගණිතමය සාධනයක ප්‍රධාන පරමාර්ථය වන්නේ, ගණිතමය ප්‍රකාශයක් නිවැරදි බවත්, සමහර විට ඊටත් වඩා වැදගත්, අවබෝධය සාක්ෂාත් කර ගැනීම බවත් තමාටම ඒත්තු ගැන්වීමයි . එමනිසා, ඔබට ගණිතමය ලෝකයේ වැඩ කිරීමට පමණක් තෝරා ගත හැකිය, සෑම දෙයක්ම නිර්මාණය කර ඇත්තේ නිර්මාණකරණයෙන් අවබෝධය ලබා ගත හැකි වන පරිදි ය (සමහර සිසුන් එකිනෙකට වෙනස් ලෙස ඉල්ලා සිටියත් ...) මෙය හරියටම ඩිජ්ක්ස්ට්‍රා අදහස් කළේ “පිරිසිදු ගණිත ians යින්” යන්නයි. (පාහේ) තමන් ගැන සැලකිලිමත් වන්නේ ගණිතමය කරුණු සහ ඒවායේ ගුණාංග අවබෝධ කර ගැනීම පමණි.

එබැවින්, නිවැරදි සාක්ෂි ඉදිරිපත් කිරීම සාපේක්ෂව වැරදි-සාධනය බව ඔබ පුදුම නොවිය යුතුය: එය සමස්ත “ව්‍යායාමයේ” ලක්ෂ්‍යයයි. (තවමත්, මෙයින් අදහස් කරන්නේ වැරදි සිදු නොවන බව හෝ යන්තම් නොපවතින බවයි, වැරදි කිරීම මනුෂ්‍යයා පමණක් බව ඔවුන් පවසයි)

දැන්, අපි වැඩසටහන්කරණය සලකා බැලුවහොත්, අපගේ අරමුණ කුමක්ද? අපි ඇත්තටම අවබෝධය සොයන්නේ නැත, අපට අවශ්‍ය දෙයක් ක්‍රියාත්මක වේ. නමුත් යමක් "වැඩ" කරන්නේ කවදාද? කිසියම් අමුතු යන්ත්‍රයකට අපට අවශ්‍ය කාර්යය සම්පූර්ණ කිරීමට ඉඩ සලසන යමක් සාර්ථකව නිර්මාණය කළ විට යමක් ක්‍රියාත්මක වන අතර වඩාත් වේගවත් වේ.

මෙය, මා විශ්වාස කරන පරිදි, මූලික වෙනස, එයින් අදහස් කරන්නේ අපගේ වැඩසටහන “ඔප්පු කරන” සමහර ප්‍රමේයයක් ලෙස අපගේ ඉලක්කය සරලව ප්‍රකාශ කළ නොහැකි බැවින්, අපි සැබෑ ලෝකයේ යමක් (එය කුමක් වුවත්) අපේක්ෂා කරන අතර සමහර ගණිතමය කෞතුක වස්තු නොවේ. මෙයින් අදහස් කරන්නේ අපට යන්ත්‍රය සතුටු කළ යුතු බැවින් අපට න්‍යායාත්මකව අපගේ ඉලක්කය සපුරා ගත නොහැකි බවයි (ඩිජ්ක්ස්ට්‍රා ඔබ එය නොසලකා හැරීමට උත්සාහ කළත්), අපි එය කළ යුත්තේ කුමන කර්තව්‍යයද යන්න අප සැබවින්ම දන්නා බවත් කිසිවෙකු නොසැලකූ දේවල් පිළිබඳව දැනුවත්ව සිටිය යුතු බවත් නමුත් තවමත් සිදු නොවන බවත්ය. කෙසේ හෝ.

ඉතින්, අවසානයේදී, එය උත්සාහ කර බොහෝ විට අසමත් වීම, නිවැරදි කිරීම, අසමත් වීම සහ ප්‍රති .ලය පිළිබඳව අප තරමක් සෑහීමකට පත්වන තෙක් නැවත උත්සාහ කිරීම හැර වෙනත් ක්‍රමයක් නොමැත.


ඔබේ උපකල්පිත දෝෂ-අඩු සාක්‍ෂි ලිවීම දෝෂ-අඩු වැඩසටහන් වලට වඩා සරල බව සලකන්න (ඇත්ත වශයෙන්ම ඒරියල් පෙන්වා දෙන පරිදි වෙනස් ප්‍රකාශයන් ) ඇත්ත වශයෙන්ම වැරදියි, මන්ද බොහෝ විට සාක්‍ෂි බොහෝ විට අත්හදා බැලීම් සහ දෝෂයන් හරහා යම් මට්ටමකින් ගොඩනගා ඇති බැවිනි. කෙසේ වෙතත්, මෙයින් ගම්‍ය වන ප්‍රශ්නයට යම් ආලෝකයක් ලැබෙනු ඇතැයි මම බලාපොරොත්තු වෙමි: "සමහර ප්‍රමේයයන් ඔප්පු කිරීම සහ වැඩසටහනක් ලිවීම අතර ඇති වෙනස කුමක්ද?" ( කරි-හොවාර්ඩ් ලිපි හුවමාරුවේ නොසැලකිලිමත් නිරීක්ෂකයෙකුට මෙසේ පැවසිය හැකිය: "කිසිවක් නැත!")


අදහස් දැක්වීමේදී vwvxvw සඳහන් කළ පරිදි, 'ව්‍යුහාත්මක ක්‍රමලේඛනය පිළිබඳ සටහන්' (EWD249, 21 පිටුව) හි පහත ඡේද ඉතා අදාළ වේ:

(...) වැඩසටහනක් කිසි විටෙකත් ඉලක්කයක් නොවේ; වැඩසටහනක අරමුණ ගණනය කිරීම් සිදු කිරීම වන අතර ගණනය කිරීම්වල අරමුණ අපේක්ෂිත බලපෑමක් ඇති කිරීමයි. ක්‍රමලේඛකයා විසින් සාදන ලද අවසාන නිෂ්පාදනය වැඩසටහන වුවද, එමඟින් ඇතිවිය හැකි ගණනය කිරීම් - යන්ත්‍රය තුළ “සෑදීම” ඉතිරි වේ! - ඔහුගේ වෙළඳාමේ සත්‍ය විෂය වේ. නිදසුනක් වශයෙන්, ක්‍රමලේඛකයෙකු තම වැඩසටහන නිවැරදි යැයි ප්‍රකාශ කරන සෑම අවස්ථාවකම, ඔහු විසින් එය අවුලුවන ගණනය කිරීම් පිළිබඳව සත්‍ය වශයෙන්ම ප්‍රකාශ කරයි.

(...) අර්ථයෙන් ගත් කල, ගණිතමය සිද්ධාන්තයක් සෑදීමට වඩා වැඩසටහනක් සෑදීම දුෂ්කර ය: වැඩසටහන සහ න්‍යාය යන දෙකම ව්‍යුහාත්මක, කාලානුරූපී වස්තු වේ. නමුත් ගණිතමය න්‍යාය පවතින ආකාරයට අර්ථවත් වන අතර, වැඩසටහන අර්ථවත් වන්නේ එය ක්‍රියාත්මක කිරීමෙන් පමණි.


2
මම ගිහියෙක් පමණයි. “ක්‍රමලේඛනය” මගින් ඩිජ්ක්ස්ට්‍රා සැබවින්ම සඳහන් කළේ කුමක්ද?
ඕවි

2
V ඕවි මට නිශ්චිතවම විශ්වාස නැත, නමුත් ප්‍රධාන වෙනස වන්නේ ඔහු 'සාමාන්‍ය' ක්‍රමලේඛන කාර්යයන්ට වඩා විසඳීමේ (සුළු නොවන) ඇල්ගොරිතම ගැටළුව ගැන කතා කිරීමයි, එනම් ඔහු නිසැකවම සමහර CRUD වැඩසටහන් ගැන කතා නොකරයි. පවත්නා ගෘහ නිර්මාණ ශිල්පය හෝ වෙනත් සංරචක ආදිය. ක්‍රමලේඛනය පිළිබඳ ඩිජ්ක්ස්ට්‍රාගේ මතය පිළිබඳ වැඩි විස්තර මෙම පිළිතුරෙන්
විවික්ත කටුස්සා

3
ඩිජ්ක්ස්ට්‍රා උපුටා දැක්වීම සඳහා ඉහළට යන්න, නමුත් ඔබ තෝරාගත්තේ වැරදි ස්ථානයකි! ව්‍යුහාත්මක ක්‍රමලේඛනයේ පළමු ඡේදවල ඔහු මෙම ගැටලුව ගැන බොහෝ දේ ලියා ඇත. වෙනත් උපුටා දැක්වීමක් ඉදිරිපත් කිරීමෙන් ඔබේ පිළිතුර වෙනස් කිරීමට මට අවශ්‍ය නොවනු ඇත, නමුත් ඔබේ පිළිතුරට එම ලිපියෙන් තවත් එකතු කිරීම ගැන ඔබ සොයා බලනු ඇතැයි මම බලාපොරොත්තු වෙමි!
wvxvw

Question ඔබේ ප්‍රශ්නය පිළිබඳ මගේ අනුමානය නම්, ඩිජ්ක්ස්ට්‍රාගේ කාලයේ වැඩසටහන්කරණය බොහෝ විට අදහස් කළේ එකලස් කිරීමේ කේතයක් එදිරිව එදිරිව එදිරිව ඉහළ මට්ටමේ භාෂාවල ලිවීමයි. ඒ හා සමානව, මම 1974 මිථ්‍යා මෑන් මාසය සංස්කරණය කියවමි, සංකල්ප තවමත් පවතින නමුත් තාක්‍ෂණික යොමු කිරීම් පද්ධති මට්ටමේ එකලස් කිරීමේ
යන්ත්‍රය

50

සාක්‍ෂි ලිවීමේ ආකාරය (පිටු 8-9) හි ඇති සාක්ෂි වල වැරදි පැතිරීම පිළිබඳව ලැම්පෝර්ට් යම් පදනමක් සපයයි :

මීට වසර විස්සකට පමණ පෙර මම හඳුන්වාදීමේ ගණිත පන්තියක් සඳහා ෂ්‍රෝඩර්-බර්න්ස්ටයින් ප්‍රමේයයේ සාක්ෂියක් ලිවීමට තීරණය කළෙමි. මට සොයාගත හැකි සරලම සාක්ෂිය කෙලීගේ සම්භාව්‍ය සාමාන්‍ය ස්ථලක පා .යයි. කෙලී වඩාත් නවීන ප්‍රේක්ෂක පිරිසක් සඳහා ලියන බැවින්, ඔහුගේ අර්ධ පිටු සාක්ෂි සඳහා මට විශාල පැහැදිලි කිරීමක් කිරීමට සිදු විය. කෙලීගේ සාධනය වැරදියි කියා මට වැටහුණු විට මම පිටු පහක් ලියා තිබුණි. මෑතකදී, මගේ සාක්ෂි ශෛලිය පිළිබඳ දේශනයක් ඒත්තු ගැන්වෙන වැරදි සාක්ෂියක් සමඟ නිදර්ශනය කිරීමට මට අවශ්‍ය වූ නිසා මම කෙලී දෙසට හැරුනෙමි. ඔහුගේ සාක්ෂි වල කිසිම වැරැද්දක් මට සොයාගත නොහැකි විය. එය පැහැදිලිවම නිවැරදි බවක් පෙනෙන්නට තිබුණි! සාක්ෂි කියවීම සහ නැවත කියවීමෙන් මට මතක් වූයේ එක්කෝ මගේ මතකය අසාර්ථක වී ඇති බවය, නැතිනම් අවුරුදු විස්සකට පෙර මම ඉතා මෝඩ බවය. කෙසේ වෙතත්, කෙලීගේ සාක්‍ෂිය කෙටි වූ අතර එය කදිම නිදසුනක් වනු ඇත, එබැවින් මම එය ව්‍යුහාත්මක සාක්ෂියක් ලෙස නැවත ලිවීමට පටන් ගතිමි.

... මාටින් අබාඩි සමඟ මා ලියූ කඩදාසියක සාමාන්‍ය ප්‍රමේයයන් සනාථ කිරීම සඳහා මෙම විලාසිතාව මුලින්ම අදාළ විය. ඔහු ඒ වන විටත් සාම්ප්‍රදායික සාක්ෂි ලියා තිබුනි. එය අපට ඒත්තු ගැන්වීමට තරම් හොඳ සාක්‍ෂි වන අතර, අනුමාන වශයෙන්, විනිසුරුවන් ද විය. ව්‍යුහාත්මක ශෛලියකින් සාක්‍ෂි නැවත ලිවීමෙන්, ප්‍රමේයයන් නිවැරදි වුවද සෑම කෙනෙකුටම පාහේ බරපතල වැරදි ඇති බව අපි සොයා ගත්තෙමු. වැරදි සාක්ෂි මගින් වැරදි ප්‍රමේයයන් ඇති නොවනු ඇතැයි යන ඕනෑම බලාපොරොත්තුවක් අපගේ ඊළඟ සහයෝගීතාවයෙන් විනාශ විය. වරින් වර අපි උපකල්පනයක් කර කළු ලෑල්ලේ සාක්‍ෂි සටහනක් ලියන්නෙමු. එය පහසුවෙන් සාම්ප්‍රදායික සාක්ෂියක් බවට පරිවර්තනය කළ හැකි සිතියමක් - ව්‍යුහාත්මක සාක්ෂියක් ලිවීමට උත්සාහ කිරීමෙන් එම උපකල්පනය අසත්‍ය බව සොයා ගැනීම පමණි. එතැන් සිට, මම කිසි විටෙකත් පරෙස්සමින්, ව්‍යුහාත්මක සාක්ෂියක් නොමැතිව ප්‍රති result ලයක් විශ්වාස කර නැත.


6
එකම කඩදාසි: "ගණිතමය සඟරාවල පළ වන සියලුම ලිපි වලින් තුනෙන් එකක් පමණ වැරදි අඩංගු වන බව සාර්‍ථක සාක්ෂි වලින් පෙනී යයි - සුළු දෝෂ පමණක් නොව වැරදි ප්‍රමේයයන් සහ සාක්ෂි". හොඳයි, එය 90 ගණන්වල විය, නමුත් අද එය වෙනස්ද? බොහෝ විට එම දිනවල පවතින, තවමත් පවතින අතර සෑම දෙයක්ම ගොඩගැසී ඇත ... එබැවින්, කඩදාසි වල සපයා ඇති ගණිතමය සාක්ෂි වල අඩු දෝෂ ඇති බව මට සම්පුර්ණයෙන්ම විශ්වාස නැත.
මාර්කෝක්‍රම්

සිත් ඇදගන්නාසුලු කථාව, නමුත් එය කෙලින්ම පිළිතුරු සපයන හෝ ප්‍රශ්නයට සම්බන්ධ වන බවක් මා දකින්නේ නැත. අසන ලද ප්‍රශ්නයට වඩාත් සෘජුවම ප්‍රතිචාර දැක්වීම සඳහා ඔබේ පිළිතුර සංස්කරණය කිරීමට ඔබ කැමතිද? ගණිතමය සාක්ෂි පරිගණක කේත ලිවීම තරම්ම වැරදි යැයි ඔබ තර්ක කරනවාද? ඔබට සැපයිය හැකි බවට තවත් සාක්ෂි ඔබ සතුව තිබේද? කතන්දරයක් හෝ දෙකක් ඇත්ත වශයෙන්ම එය නිරූපණය නොකරයි නේද?
ඩීඩබ්ලිව්

@DW මම ලෙස්ලි වෙත ඊමේල් පණිවිඩයක් යවන්නේ නම්, ඔහුට හිමිකම් පෑමට තවත් සාක්ෂි ලබා දිය හැකිය.
මාර්කෝක්‍රම්

3
@ ඩීඩබ්ලිව් ලෙස්ලි සිය අවංක පිළිතුරෙන් කියා සිටියේ එවකට ගණිත සමාලෝචනවල පළ වූ සාක්ෂි 51 ක් සමඟ තම සගයා පරීක්ෂණයක් කළ බවයි. ඔහුගේ මතය අනුව එය කතන්දරයකට වඩා වැඩි නමුත් කරුණු කිහිපයක් නිසා ප්‍රබල සාක්ෂි සඳහා සුදුසු නොවේ. නඩුව වඩාත් සංකීර්ණ වූයේ සාක්‍ෂි වල යම් දෝෂ සිදුවී ඇත්තේ ඔවුන් කලින් ප්‍රකාශයට පත් කළ කඩදාසි වල වැරදිසහගත සාක්‍ෂි භාවිතා කළ නිසාය. ක්‍රමලේඛනගතව ගණිතමය සාක්ෂි සත්‍යාපනය කරන්නේ කෙසේද යන්න තවමත් විශාල ප්‍රශ්නයකි. අන්තර්ක්‍රියාකාරී සාක්ෂි ආධාර සඳහා සාදන ලද යෙදුම් ඉතා මුල් අවධියේ පවතී. අවම වශයෙන් ඒවායේ අතුරු මුහුණත.
මාර්කෝක්‍රම්

@DW කථාව හෝ දෙකක් පෙන්නුම් කරයි ගණිතමය සාක්ෂියක් “නිවැරදි” ලෙස පෙනිය හැකි නමුත් ඇත්ත වශයෙන්ම නිරවද්‍ය නොවන ආකාරය කෙරේ . සංකීර්ණ පරිගණක ඇල්ගොරිතමයක් ලියා ගණිතමය සාධනයක් කර ඇති ඕනෑම කෙනෙකුට, ගණිතමය සාක්‍ෂියක් වැනි පරිගණක ඇල්ගොරිතමයක් ලිවීමට උත්සාහ කර පසුව ඉහළ මට්ටමේ “ඇල්ගොරිතම” බොහෝ දෝෂයන් විසින් පාවා දෙනු ලබන්නේ කෙසේදැයි සොයා ගත් විට, විස්තරයේ බොහෝ දෝෂ, ප්‍රති result ලය පුදුමයක් නොවේ.
යක්

40

එක් විශාල වෙනසක් වන්නේ වැඩසටහන් සාමාන්‍යයෙන් ලියා ඇත්තේ යෙදවුම් මත ක්‍රියාත්මක වීම සඳහා වන අතර ගණිතමය සාක්ෂි සාමාන්‍යයෙන් ආරම්භ වන්නේ අක්ෂර හා පෙර දන්නා ප්‍රමේයයන්ගෙන් ය. ප්‍රමාණවත් තරම් පොදු සාක්ෂියක් ලබා ගැනීම සඳහා සමහර විට ඔබට විවිධ අවස්ථා ආවරණය කිරීමට සිදු වේ, නමුත් නඩු සහ ඒවායේ විසර්ජනය පැහැදිලිව ගණනය කර ඇති අතර ප්‍රති result ලයේ විෂය පථය ආවරණය වන නඩු වලට ව්‍යංගයෙන් සීමා වේ.

මෙය පරිගණක වැඩසටහනක් සමඟ සසඳන්න, හැකි ආදාන පරාසයක් සඳහා 'නිවැරදි' ප්‍රතිදානය සැපයිය යුතුය. සියළුම යෙදවුම් ගණනය කර ඒවා සියල්ලම උත්සාහ කිරීම කලාතුරකින් කළ හැකිය. ඊටත් වඩා භයානක දෙය නම්, වැඩසටහන මිනිසෙකු සමඟ අන්තර්ක්‍රියා කරන අතර ඔවුන්ගේ ආදානය ක්‍රියාකාරීත්වය වෙනස් කිරීමට ඉඩ දෙයිද? මිනිසුන් කුප්‍රකට ලෙස අනාවැකි කිව නොහැකි අතර මානව අන්තර්ක්‍රියාකාරිත්වයකින් යුත් සාධාරණ වැඩපිළිවෙලකට කළ හැකි යෙදවුම් ගණන අති විශාල වේගයකින් වර්ධනය වේ. වැඩසටහනක් භාවිතා කළ හැකි විවිධ ක්‍රම කල්තියා දැන ගැනීමට ඔබ උත්සාහ කළ යුතු අතර, එම සියලු භාවිත අවස්ථා ක්‍රියාත්මක වීමට හෝ අවම වශයෙන් සාධාරණ ආකාරයකින් අසමත් වීමට උත්සාහ කළ යුතුය. සහ ඔබ පවා එය තියෙන්නේ කොහොමද කියලා උපකල්පනය කරනවා කියන අය සියලු අප්රකට කෙළවරේ අවස්ථාවල දී වැඩ කිරීමට.

අවසාන වශයෙන්, විශාල වැඩසටහනක් තනි සාක්ෂියකට සැසඳිය නොහැක, සංකීර්ණ එකක් පවා. විශාල වැඩසටහනක් කුඩා සාහිත්‍ය පුස්තකාලයක් එකතු කිරීම හා සමාලෝචනය කිරීම හා සමාන වේ, ඒවායින් සමහරක් ඔබ වටා වැඩ කිරීමට අවශ්‍ය දෝෂ තිබිය හැකිය. කුඩා ඇල්ගොරිතම ක්‍රියාත්මක කිරීමක් විය හැකි තනි සාධනයක පරිමාණයෙන් වැඩි වැඩසටහන් සඳහා, පළපුරුදු මෘදුකාංග ඉංජිනේරුවන්ට වැරදි නොකර ඒවා සම්පූර්ණ කළ හැකිය / කළ හැකිය, විශේෂයෙන් පොදු සුළු සුළු වැරදි වළක්වා ගැනීමට / විසඳීමට නවීන මෙවලම් භාවිතා කරන විට (අක්ෂර වින්‍යාසය වැනි) ) ඒවා සෝදුපත් කියවීමේදී ඔබ විසින් විසඳනු ලබන මුල් ගැටළු වලට සමාන වේ.


14
ඔබගේ අවසාන ඡේදය සඳහා +1. ගණිතමය සාක්‍ෂි ප්‍රතිපත්තිමය වශයෙන් එකිනෙකා මත ගොඩනගා ඇති අතර, සාමාන්‍යයෙන් මූලික කරුණු හොඳින් වටහාගෙන ඇත, පරිගණක පුස්තකාලවල ප්‍රතිසම (ඒවාට දෝෂ ද ඇතත් ...), සහ සත්‍ය සාක්‍ෂි දිගු නොවේ. ඊට වෙනස්ව, පාරිභෝගික මෘදුකාංග දිගු හා සංකීර්ණ වන අතර අසමත් වීමට තවත් බොහෝ අවස්ථාවන් තිබේ.
යුවල් ෆිල්මස්

6
ප්‍රායෝගිකව, පාරිභෝගික මෘදුකාංගයේ ඇති අනෙක් ගැටළුව නම්, 'නිවැරදි' හැසිරීම බොහෝ විට ඉදිරියෙන් දුර්වල ලෙස අර්ථ දක්වා ඇති අතර පසුව නිවැරදි වීමට භාවිතා කළ දේ වැරදිය. එය අක්ෂර වින්‍යාසය වෙනස් කිරීමට මිනිසුන් තීරණය කර ඇති බව දැන ගැනීම සඳහා පමණක් සාක්ෂියක් ලිවීමට උත්සාහ කිරීමක් වැනිය. ඔබට එය අංකනයෙන් නිවැරදි කළ හැකිය, නේද?
ඩෑන් බ්‍රයන්ට්

2
An ඩන්බ්‍රයන්ට් ගණිතයේ එම තත්වය සිදු වේ. විශේෂයෙන් පදවල අර්ථ දැක්වීම් කාලයත් සමඟ වෙනස් වන අතර බොහෝ විට ඒවා භාවිතා කළ ආකාරයටම නොපැහැදිලි වේ. ඉම්රේ ලකැටෝස්ගේ “සාධනය සහ ප්‍රතික්ෂේප කිරීම්” මෙය විස්තර කරන්නේ “බහුඅංශය” යන යෙදුමෙනි. "ශ්‍රිතය" හා අඩු තරමින් "අනුකලනය" සමඟ සමාන දෙයක් සිදුවී ඇත. අද පවා, "කාණ්ඩය" නිසැක නොවන අතර ඔබ හරියටම අදහස් කරන දේ අනුව සාක්ෂි සහ ප්‍රමේයයන් අසමත් විය හැකිය.
ඩෙරෙක් එල්කින්ස් SE

27

ඔවුන් පවසන්නේ පරිගණකවල ඇති ගැටලුව නම් ඔවුන් එසේ කරන බවයි හරියටම ඔබ ඔවුන් කියන දෙය.

මම හිතන්නේ මෙය බොහෝ හේතු වලින් එකක් විය හැකිය.

පරිගණක වැඩසටහනක් සමඟ ලේඛකයා (ඔබ) බුද්ධිමත් නමුත් පා er කයා (CPU) ගොළු බව සැලකිල්ලට ගන්න.
නමුත් ගණිතමය සාක්ෂියක් සහිතව, ලේඛකයා (ඔබ) බුද්ධිමත් වන අතර පා er කයා (විචාරකයා) ද බුද්ධිමත් ය.

මෙයින් අදහස් කරන්නේ ඔබට කිසි විටෙකත් "ළිඳකට" යාමට නොහැකි බවයි, මා අදහස් කරන්නේ කුමක්දැයි ඔබ දන්නවා පරිගණකයක් සමග තත්වය". එය ඔබගේ අභිප්‍රායයන් නොදැන ඔබ පවසන දේම කරයි.

උදාහරණයක් ලෙස, මෙය කිසියම් සාක්ෂියක පියවරක් යැයි කියමු:

x2+4x+3x+3=(x+1)(x+3)x+3=x+1

x2+4x+3x+3x=-3


3
නියම පිළිතුර! පරිගණකයක් ලෙස හැර, ඔබ “අනවශ්‍ය ලෙස” යන වචනය භාවිතා කිරීමට මම විරුද්ධ වෙමි. ;) [ -xමෙය සංයුක්ත බව ඔප්පු කිරීම අරමුණු කරගත් විශාල සාධනයක එක් පියවරක් පමණක් යැයි සිතමු . සම්පුර්ණ කරන ලද සාක්ෂි වල නිරවද්‍යතාවයට බෙහෙවින් අදාළ වන විට මෙම පියවර වැරදියි යන කාරණය -x = 3!]
Quuxplusone

@Quuxplusone: = P
user541686

පරිගණකවලට සංකේතාත්මක ගණිතය සහ නිර්ණායක නොවන නැවත ලිවීමේ රීති ද භාවිතා කළ හැකිය. සී ++ වැනි අප භාවිතා කරන භාෂා සියල්ලම ඉතා පහත් මට්ටමක පවතින අතර පුරාණ තාක්‍ෂණය මත පදනම් වේ (සී ඇල්ගෝල් 60 ට වඩා අඩු ලක්ෂණ ඇත, උදාහරණයක් ලෙස). එකම ව්‍යතිරේකය වන්නේ අයිඩ්‍රිස් / ඇග්ඩා, සංකේතාත්මක විසඳුම් සහිත ලිස්ප් සහ ගණිතමය වැනි සාක්ෂි / පරීක්ෂා කිරීමේ භාෂා ය. ja.wolframalpha.com/input/…
aoeu256

24

යුවල්ගේ පිළිතුරෙන් අවධානය යොමු නොවූ බව මා සිතන එක් කාරණයක් නම්, ඔබ විවිධ සතුන් සංසන්දනය කරන බව පෙනේ.

nn!. මෙය සැබවින්ම අසීරු කාර්යයක් වන අතර එයට පිළිතුරු දීමට යමෙකු හුදු වාක්‍ය ඛණ්ඩයෙන් ඔබ්බට බැලිය යුතුය. මේ සඳහා ඔබේ ගණිතමය ප්‍රතිසමතාව “මෙම සාධනය නිවැරදිද”, එය කිසිසේත්ම සාධාරණ නොවේ, නිවැරදි ප්‍රතිසමයක් විය යුත්තේ “මෙම ප්‍රමේයය සත්‍යය, එසේ නම් අපට එය ඔප්පු කළ හැක්කේ කෙසේද?”. පළමුවැන්න “පහසුවෙන්” සත්‍යාපනය කළ හැකි සින්ටැක්ටික් ප්‍රකාශයක් වන අතර, දෙවැන්න වඩා දුෂ්කර ය (එහි දෘ ness තාව විධිමත් කළ හැකිය). ඔබ මෙතෙක් ඉදිරිපත් කිරීමට උත්සාහ කර ඇති වඩාත්ම සංකීර්ණ කේතය ගැන සිතන්න, එය පොයින්කරේගේ උපකල්පනය (දැන් ප්‍රමේයය) සනාථ කිරීමට උත්සාහ කිරීම හා සසඳන්න,

වැඩසටහන් වල අර්ථකථන ගුණාංග සත්‍යාපනය කිරීම අවිනිශ්චිතය (සහල්ගේ ප්‍රමේයය), හා සමානව, පළමු අනුපිළිවෙලින් ප්‍රකාශයක් තර්කනය සත්‍ය දැයි පරීක්ෂා කිරීම ද අවිනිශ්චිතය. කාරණය වන්නේ ඔබ ගැටලු දෙස බලන ආකාරයට දෘ hard තාවයේ සැබෑ වෙනසක් නොමැති වීමයි. අනෙක් අතට, වැඩසටහන් වල (සම්පාදකයින්ගේ) සින්ටැක්ටික් ගුණාංග පිළිබඳව අපට තර්ක කළ හැකි අතර, අපට සාක්ෂි සත්‍යාපනය කළ හැකි බවට මෙය සමාන වේ. දෝෂ (කේතය මට අවශ්‍ය දේ නොකරයි) එබැවින් ඔබ ඒවා නිවැරදි ප්‍රතිවිරුද්ධ පාර්ශවයට සංසන්දනය කළ යුතුය.

මම යුවල්ව ශක්තිමත් කර, කිසියම් විධිමත් පද්ධතියක ලිවීමට හා සත්‍යාපනය කළ හැකි ගණිතමය සාක්‍ෂි ලිවීමේ අභිප්‍රේරණයෙන් මුළු ක්ෂේත්‍රයම වර්ධනය වූ බව කියමි, එබැවින් සත්‍යාපන ක්‍රියාවලිය පවා සුළුපටු නොවේ.


18

දෝෂ රහිත ගණිතමය සාක්‍ෂි ලිවීම සහ දෝෂ රහිත පරිගණක කේත ලිවීම අතර ඇති වෙනස කුමක්ද? එමඟින් කලින් සඳහන් කළ ඒවාට වඩා බොහෝ දේ කළ හැකි ය.

මම ප්රාථමික හේතු වන බව විශ්වාස idempotency (එම යෙදවුම් සඳහා එම ප්රතිඵල ලබා දෙයි) සහ පිළිම්ඹු (වෙනස් වන්නේ නැත).

ගණිතමය සාක්ෂියක් අඟහරුවාදා කියවූ විට හෝ 1999 සිට 2000 දක්වා ඉදිරියට ගිය විට වෙනස් ප්‍රති results ල ලබා දිය හැකි නම් කුමක් කළ යුතුද? ගණිතමය සාක්ෂියක කොටසක් පිටු කිහිපයක් ආපසු ගොස් පේළි කිහිපයක් නැවත ලිවීම සහ එම ස්ථානයේ සිට නැවත ආරම්භ කිරීම නම් කුමක් කළ යුතුද?

එවැනි සාක්ෂියක් පරිගණක කේතයේ සාමාන්‍ය කොටසක් තරම් දෝෂ වලට ගොදුරු විය හැකි බව මට විශ්වාසයි.

වෙනත් ද්විතියික සාධක ද ​​මම දකිමි:

  1. සැලකිය යුතු / ප්‍රකාශ කළ හැකි සාක්ෂියක් ලිවීමට උත්සාහ කිරීමට පෙර ගණිත ians යන් සාමාන්‍යයෙන් වඩා උගත් ය. ස්වයං නම් සහිත වෘත්තීය සංවර්ධකයින්ගෙන් 1/4 ක් කේතනය කිරීම ආරම්භ කළේ මීට වසර 6 කටත් අඩු කාලයකට පෙරය ( SO සමීක්ෂණය 2017 බලන්න ), නමුත් බොහෝ ගණිත ians යින්ට විධිමත් ගණිත අධ්‍යාපනයේ දශකයකට වැඩි කාලයක් ඇතැයි මම සිතමි.
  2. ගණිතමය සාක්‍ෂි පරිගණක කේතයට සමාන පරීක්‍ෂණයකට ලක් වන්නේ කලාතුරකිනි. එක් යතුරු ලියනයකට වැඩසටහනක් බිඳ දැමිය හැකිය / කළ හැකි නමුත් සාධනයක වටිනාකම විනාශ කිරීමට යතුරු ලියනය දුසිම් ගණනක් ප්‍රමාණවත් නොවනු ඇත (එහි කියවීමේ හැකියාව පමණි).
  3. යක්ෂයාගේ විස්තර වල ඇති අතර පරිගණක කේතයට විස්තර මඟ හැරිය නොහැක. සරල / දෛනික යැයි සැලකෙන පියවර මඟ හැරීමට සාක්‍ෂි නොමිලේ. නූතන භාෂාවලින් ලබා ගත හැකි හොඳ සින්ටැක්ටික් සීනි කිහිපයක් ඇත, නමුත් මේවා දෘඩ කේත කර ඇති අතර ඒවා සාපේක්ෂව සීමිතය.
  4. ගණිතය පැරණි වන අතර වඩාත් ශක්තිමත් පදනමක් / හරයක් ඇත. ගණිතයේ නව හා දිලිසෙන උප ක්ෂේත්‍ර රාශියක් නිසැකවම ඇත, නමුත් බොහෝ මූලික මූලධර්ම දශක ගණනාවක් තිස්සේ භාවිතයේ පවතී. මෙය ස්ථාවරත්වයට මග පාදයි. අනෙක් පැත්තෙන්, ක්‍රමලේඛකයින් තවමත් මූලික කේතීකරණ ක්‍රමයට එකඟ නොවෙති (Agile සංවර්ධනය සහ එය සම්මත කිරීමේ අනුපාතය ගැන විමසන්න).

ක්‍රමලේඛනයේ 'අවිනිශ්චිතතාවයට' සමාන ක්‍රියාකාරී සංශුද්ධතාවය බව සඳහන් කිරීම වටී , එය හස්කල් වැනි සමහර භාෂාවලින් හඳුනාගෙන සහාය දක්වයි.
ෆරාප්

12

යුවල් ලියා ඇති දේ සමඟ මම එකඟ වෙමි. එහෙත් ඊටත් වඩා සරල පිළිතුරක් ඇත: ප්‍රායෝගිකව මෘදුකාංග ඉංජිනේරුවන් සාමාන්‍යයෙන් ඔවුන්ගේ වැඩසටහන් වල නිරවද්‍යතාවය පරීක්ෂා කිරීමට උත්සාහ නොකරයි, ඔවුන් එසේ නොකරයි, ඔවුන් සාමාන්‍යයෙන් වැඩසටහන නිවැරදි විට නිර්වචනය කරන කොන්දේසි පවා ලියා තබන්නේ නැත.

ඒ සඳහා විවිධ හේතු තිබේ. එකක් නම් බොහෝ මෘදුකාංග ඉංජිනේරුවන්ට ගණිතමය වශයෙන් ගැටලු පැහැදිලිව සකස් කිරීමේ කුසලතා නොමැති වීම හෝ නිවැරදිභාවය පිළිබඳ සාක්ෂි ලිවීමට ඔවුන් නොදැන සිටීම ය.

තවත් එකක් නම්, සංකීර්ණ මෘදුකාංග පද්ධතියක් සඳහා (විශේෂයෙන් බෙදා හරින ලද) නිවැරදි තත්වයන් නිර්වචනය කිරීම ඉතා දුෂ්කර හා කාලය ගතවන කාර්යයකි. සති කිහිපයකින් වැඩ කරන බවක් පෙනෙන්නට ඇතැයි ඔවුන් අපේක්ෂා කරයි.

තවත් හේතුවක් නම්, වැඩසටහනක නිරවද්‍යතාවය රඳා පවතින්නේ වෙනත් අය විසින් ලියන ලද වෙනත් බොහෝ පද්ධති මත ය. ඔබේ පුස්තකාලයට / සේවාවට නිරීක්ෂණය කළ හැකි හැසිරීමක් තිබේ නම් (එහි කොන්ත්‍රාත්තුවේ කොටසක් නොවේ) යමෙකු අවසානයේ එය මත රඳා පවතිනු ඇතැයි හයිරම් නීතියක් ඇත. ගණිතයේ ලෙමා වැනි පැහැදිලි කොන්ත්‍රාත්තු සමඟ මොඩියුලර් ස්වරූපයෙන් මෘදුකාංග සංවර්ධනය කිරීමේ අදහස ප්‍රායෝගිකව ක්‍රියාත්මක නොවේ. පරාවර්තනය භාවිතා කරන භාෂාවලින් එය නරක අතට හැරේ. අද දින වැඩසටහනක් නිවැරදි වුවද, යමෙකු එහි එක් පරායත්තතාවයකින් සුළු සුළු ප්‍රතිනිර්මාණයක් සිදු කළ විට එය හෙට බිඳ වැටෙනු ඇත.

ප්‍රායෝගිකව සාමාන්‍යයෙන් සිදුවන්නේ ඔවුන්ට පරීක්ෂණ තිබීමයි. වැඩසටහන මඟින් අපේක්ෂා කරන ආකාරයට පරීක්ෂණ ක්‍රියාත්මක වේ. සෑම විටම නව දෝෂයක් හමු වූ විට, ඔවුන් එය අල්ලා ගැනීම සඳහා පරීක්ෂණ එකතු කරයි. එය යම් ප්‍රමාණයකට වැඩ කරයි, නමුත් එය නිවැරදි බවට සාක්ෂියක් නොවේ.

මිනිසුන්ට නිවැරදි බව නිර්වචනය කිරීමට හෝ නිවැරදි වැඩසටහන් ලිවීමට හෝ එසේ කිරීමට අපේක්ෂා නොකරන අතර එසේ කිරීම තරමක් අපහසු වන විට මෘදුකාංග නිවැරදි නොවීම පුදුමයක් නොවේ.

වඩා හොඳ ස්ථානවල අවසානයේ මෘදුකාංග ඉංජිනේරු විද්‍යාව කේත සමාලෝචනයෙන් සිදු කරන බව සලකන්න. වැඩසටහනක කතුවරයා අවම වශයෙන් එක් පුද්ගලයෙකුටවත් වැඩසටහන නිවැරදිව ක්‍රියාත්මක වන බව ඒත්තු ගැන්විය යුතුය. සමහර අවිධිමත් ඉහළ මට්ටමේ තර්ක ඉදිරිපත් කරනුයේ එයයි. නමුත් නැවතත් සාමාන්‍යයෙන් නිරවද්‍යතාව පිළිබඳ පැහැදිලි දැඩි අර්ථ දැක්වීමකට හෝ නිවැරදි බව සනාථ කිරීමට ආසන්න කිසිවක් සිදු නොවේ.

ගණිතයේ දී මිනිසුන් නිවැරදි බව කෙරෙහි අවධානය යොමු කරයි. මෘදුකාංග සංවර්ධනයේ දී ක්‍රමලේඛකයෙකුට සැලකිලිමත් විය යුතු බොහෝ දේ ඇති අතර ඒවා අතර වෙළඳ ලකුණු තිබේ. දෝෂ රහිත මෘදුකාංගයක් තිබීම හෝ නිවැරදිභාවය පිළිබඳ හොඳ අර්ථ දැක්වීමක් (කාලයාගේ ඇවෑමෙන් අවශ්‍යතා වෙනස් වීමත් සමඟ) පරමාදර්ශයකි, නමුත් එය වෙනත් සාධක සමඟ වෙළඳාම් කළ යුතු අතර ඒවා අතර වඩාත්ම වැදගත් එකක් වන්නේ එය සංවර්ධනය කිරීම සඳහා ගත කරන කාලයයි සංවර්ධකයින්. එබැවින් ප්‍රායෝගිකව වඩා හොඳ ස්ථානවල ඉලක්කය හා ක්‍රියාවලීන් මෘදුකාංග දෝෂ රහිත බවට පත් කරනවාට වඩා හැකි තරම් දෝෂ වල අවදානම අවම කරයි.


ක්‍රමලේඛකයින් සහ ගණිත ians යන් අතර විධිමත් ලෙස (එනම් යන්ත්‍ර පරීක්‍ෂා කරන ලද ආකාරයෙන්) නිරවද්‍යතා පිරිවිතරයන් සැකසීම සහ 10KLOC හෝ ඊට වඩා විශාල වැඩසටහනක් සඳහා කේතය නිවැරදි බව ඔප්පු කිරීම කවුරුන් දැයි මට විශ්වාස නැත . එක් අතකින්, බොහෝ ක්‍රමලේඛකයන්ට හොඳින් දියුණු වූ ප්‍රමේයයක් ඔප්පු කිරීමේ කුසලතා නොමැති බව ඔබ සම්පූර්ණයෙන්ම නිවැරදිය. අනෙක් අතට, විශාල විධිමත් සාක්ෂි විශාල වැඩසටහන් හා සමාන වන අතර ඒවා කළමනාකරණය කිරීම සඳහා මෘදුකාංග ඉංජිනේරු කුසලතා අවශ්‍ය වේ. එවැනි වැඩපිළිවෙලක් සඳහා නිවැරදි බව පිළිබඳ අවිධිමත් සාක්ෂියක් නිවැරදි යැයි බලාපොරොත්තුවක් නැති බව මට විශ්වාසයි.
ඩෙරෙක් එල්කින්ස් SE

සමහරවිට. කෙසේ වෙතත්, පැහැදිලි කිරීම සඳහා, මම මගේ පිළිතුරෙහි විධිමත් සාක්ෂි ගැන නොසිතමි, ඇල්ගොරිතම පත්‍රිකාවල අප දකින මට්ටමේ අවිධිමත් සාක්ෂි පමණි.
කවේ

11

දැනටමත් හොඳ පිළිතුරු ගොඩක් ඇති නමුත් ගණිතය සහ ක්‍රමලේඛනය එක හා සමාන නොවීමට තවත් හේතු තිබේ.

1 පරිගණක වැඩසටහන් වලට වඩා ගණිතමය සාක්ෂි ඉතා සරල ය. උපකල්පිත සාක්ෂියක පළමු පියවර සලකා බලන්න:

පූර්ණ සංඛ්‍යාවක් වීමට ඉඩ දෙන්න

B පූර්ණ සංඛ්‍යාවක් වේවා

C = a + b කරමු

මෙතෙක් සාක්ෂි හොඳයි. එය සමාන වැඩසටහනක පළමු පියවර බවට පත් කරමු:

A = ආදානය ();

B = ආදානය ();

C = a + b;

අපට දැනටමත් නොයෙකුත් ගැටලු තිබේ. පරිශීලකයා සැබවින්ම පූර්ණ සංඛ්‍යාවක් ඇතුළත් කළ බව උපකල්පනය කරමින්, අපට සීමාවන් පරීක්ෂා කළ යුතුය. ය එය -32768 වඩා වැඩි (හෝ ඕනෑම දෙයක් ඔබේ පද්ධතිය මත විනා int මිල)? ය එය 32767 කට වඩා අඩු? දැන් අපි b සඳහා එකම දේ පරීක්ෂා කළ යුතුය. අපි a සහ b එකතු කර ඇති නිසා + b හැර වැඩසටහන නිවැරදි නොවේ-32768 ට වඩා විශාල වන අතර 32767 ට වඩා අඩුය. ගණිත ian යෙකුට නොසලකා හැරිය හැකි ක්‍රමලේඛකයෙකුට කරදර විය යුතු වෙනම කොන්දේසි 5 කි. ක්‍රමලේඛකයාට ඔවුන් ගැන කරදර විය යුතු පමණක් නොව, එම කොන්දේසි වලින් එකක් සපුරා නොමැති විට කුමක් කළ යුතු දැයි ඔහු සොයා ගත යුතු අතර, එම කොන්දේසි හැසිරවිය යුතු ආකාරය ඔහු තීරණය කළ තිරිඟු කිරීමට කේත ලිවිය යුතුය. ගණිතය සරලයි. වැඩසටහන්කරණය දුෂ්කර ය.

2 ඔහු සඳහන් කරන්නේ සම්පාදක කාල දෝෂ හෝ ධාවන කාල දෝෂද යන්න ප්‍රශ්න කරන්නා නොකියයි, නමුත් ක්‍රමලේඛකයින් සාමාන්‍යයෙන් සම්පාදක කාල දෝෂ ගැන තැකීමක් නොකරයි. සම්පාදකයා ඒවා සොයා ගන්නා අතර ඒවා නිවැරදි කිරීමට පහසුය. ඒවා යතුරු ලියනය වගේ. පළමු වරට වැරදි නොමැතිව මිනිසුන් ඡේද කිහිපයක් ටයිප් කරන්නේ කෙසේද?

3 පුහුණුව.කුඩා කල සිටම අපට ගණිතය කිරීමට උගන්වා ඇති අතර සුළු වැරදිවල ප්‍රතිවිපාක නැවත නැවතත් අපට මුහුණ දීමට සිදුවේ. පුහුණු ගණිත ian යෙකුට සාමාන්‍යයෙන් මධ්‍යම පාසලේදී බහු-පියවර වීජ ගණිත ගැටලු විසඳීම ආරම්භ කළ යුතු අතර සෑම සතියකම වසරකට එවැනි ගැටළු දුසිම් ගණනක් (හෝ වැඩි ගණනක්) කිරීමට සිදු විය. තනි පහත වැටුණු negative ණ ලකුණක් සමස්ත ගැටලුවක්ම වැරදියට හේතු විය. වීජ ගණිතයෙන් පසු ගැටලු දිගු හා දුෂ්කර විය. ක්‍රමලේඛකයන්ට සාමාන්‍යයෙන් විධිමත් පුහුණුවක් අඩුය. බොහෝ දෙනෙක් ස්වයං-ඉගෙනුම ලබන අය වෙති (අවම වශයෙන් මුලදී) සහ විශ්ව විද්‍යාලය තෙක් විධිමත් පුහුණුවක් නොලැබුණි. විශ්ව විද්‍යාල මට්ටමින් වුවද, ක්‍රමලේඛකයින්ට ගණිත පන්ති කිහිපයක් ගත යුතු අතර ගණිත ians යින් බොහෝ විට වැඩසටහන් පන්ති එකක් හෝ දෙකක් ගෙන ඇත.


10

මම යුවල්ගේ පිළිතුරට කැමතියි, නමුත් මට අවශ්‍ය වූයේ එය මඳක් ඉවත් කිරීමටයි. ගණිත සාක්‍ෂි ලිවීම ඔබට පහසු යැයි සිතිය හැකි එක් හේතුවක් වන්නේ ගණිත ඔන්ටෝලොජි කෙතරම් සරලද යන්නයි. මා අදහස් කරන දේ බැලීමට පහත සඳහන් කරුණු සලකා බලන්න:

  • ගණිතයේ කාර්යයන් පිරිසිදු ය (ශ්‍රිතයක් ඇමතීමේ සම්පූර්ණ ප්‍රති result ලය ප්‍රතිලාභ අගයෙන් සම්පුර්ණයෙන්ම සංයුක්ත වේ, එය නිර්ණායක සහ ආදාන අගයෙන් සම්පූර්ණයෙන්ම ගණනය කෙරේ).
  • ගණිතයට විකෘතියක් හෝ නැවත පැවරීමක් නොමැත (ඔබට එවැනි දේ ආදර්ශනය කිරීමට අවශ්‍ය වූ විට, කාර්යයන් සහ අනුක්‍රම භාවිතා වේ).
  • ගණිතය යොමු පාරදෘශ්‍ය ය (උදා: දර්ශකයන් නැත, ඇමතුම අනුව නම සහ ඇමතුම අනුව වටිනාකම) එකම දෙය).

ඉහත සීමාවන් මඟින් වැඩසටහනක් ලිවීම පහසු කරයි ද නැද්ද යන්න විවාදාත්මක වුවත්, ඉහත සීමාවන් මඟින් වැඩසටහනක් පිළිබඳ තර්ක කිරීම පහසු කරන බවට පුළුල් එකඟතාවයක් ඇතැයි මම සිතමි . ගණිත සාක්‍ෂියක් ලිවීමේදී ඔබ කරන ප්‍රධානම දෙය නම් ඔබ දැනට ලියන සාධනය පිළිබඳ හේතුවයි (මන්ද, ක්‍රමලේඛන මෙන් නොව, වියුක්ත කිරීම් නොමිලේ බැවින් ඔබට කිසි විටෙකත් ගණිතයේ උත්සාහයන් අනුපිටපත් කිරීමට සිදු නොවේ), එබැවින් එය අවධාරනය කිරීම සාමාන්‍යයෙන් වටී ඉහත සීමාවන්.


7

සජීවී මිනිසුන්ගේ අවශ්‍යතා සපුරාලීම සඳහා නිර්මාණය කර ඇති මූලික ගණිතමය සාක්ෂි සැබෑ ලෝක යෙදුමකට සමාන නොවේ.

පරිගණක වැඩසටහන් වල දෛනිකව විය හැකි දේ මත මිනිසුන් ඔවුන්ගේ ආශාවන්, අවශ්‍යතා සහ අවශ්‍යතා වෙනස් කරනු ඇත.

දෝෂ රහිත ගණිතමය සාක්‍ෂි ලිවීම සහ දෝෂ රහිත පරිගණක කේත ලිවීම අතර ඇති වෙනස කුමක්ද? එමඟින් කලින් සඳහන් කළ ඒවාට වඩා බොහෝ දේ කළ හැකි ය.

ගණිතමය ගැටලුවක් තරම් පැහැදිලි අවශ්‍යතාවයක් සහිතව, දෝෂ රහිත වැඩසටහනක් ලිවිය හැකිය. ඩිජ්ක්ස්ට්‍රාගේ ඇල්ගොරිතම මඟින් ප්‍රස්ථාරයක ලකුණු දෙකක් අතර කෙටිම මාර්ගය සොයාගත හැකි බව ඔප්පු කිරීම අත්තනෝමතික යෙදවුම් පිළිගෙන එහි ඕනෑම ලක්ෂ්‍ය දෙකක් අතර කෙටිම ලකුණු සොයා ගන්නා වැඩසටහනක් ක්‍රියාත්මක කිරීමට සමාන නොවේ.

කළමනාකරණය කිරීමට මතකය, ක්‍රියාකාරීත්වය සහ දෘඩාංග අවශ්‍යතා ඇත. ඇල්ගොරිතම ලිවීමේදී අපට ඒවා කළමනාකරණය කිරීම සඳහා පිරිසිදු හා ක්‍රියාකාරී ඉදිකිරීම් භාවිතා කළ හැකි යැයි සිතීමට නොහැකි යැයි මම ප්‍රාර්ථනා කරමි, නමුත් පරිගණක වැඩසටහන් ජීවත් වන්නේ “සැබෑ” දෘඩාංග ලෝකයේ වන අතර ගණිතමය සාධනය පවතින්නේ ... “න්‍යාය” තුළ ය.


නැතහොත්, වඩාත් සංක්ෂිප්ත වීමට :

රූප විස්තරය මෙහි ඇතුළත් කරන්න


4

වෙනත් කෝණයකින් එය දෙස බලන විට, ශාස්ත්‍රීය නොවන පසුබිමක එය බොහෝ විට මුදල් වෙතට පැමිණේ.

අනෙක් තනතුරු හොඳින් සනාථ කරන පරිදි, ගණිතය යනු තනි වියුක්ත පිරිවිතරයකි, එබැවින් ඔප්පු කිරීම සඳහා එම පිරිවිතරයන් තුළ අඛණ්ඩව ක්‍රියා කළ යුතුය. ගණිතයේ වියුක්ත පිරිවිතරයේ බොහෝ ක්‍රියාත්මක කිරීම් මත පරිගණක වැඩසටහනක් ක්‍රියාත්මක විය හැකිය - එනම් එක් භාෂාවක් හෝ දෘඩාංග නිෂ්පාදකයා පාවෙන ලක්ෂ්‍ය ගණිතය වෙනත් ආකාරයකට වඩා තරමක් වෙනස් විය හැකි අතර එමඟින් ප්‍රති .ලවල සුළු උච්චාවචනයන් සිදුවිය හැකිය.

එනිසා පරිගණක වැඩසටහනක් ලිවීමට පෙර 'ඔප්පු කිරීම' මඟින් දෘඩාංග මට්ටම, මෙහෙයුම් පද්ධති මට්ටම, ධාවක මට්ටම, ක්‍රමලේඛන භාෂාව, සම්පාදකයා, සමහර විට පරිවර්තකය සහ යනාදී වශයෙන් තර්කනය සනාථ කිරීම ඇතුළත් වේ. සිතිය හැකි ලෙස ක්‍රියාත්මක කළ හැකි අතර එය අනුමාන කළ හැකි ඕනෑම දත්තයක්. අභ්‍යවකාශ මෙහෙයුම්, ආයුධ පද්ධති හෝ න්‍යෂ්ටික බලශක්ති පාලන පද්ධති පිළිබඳ මෙම මට්ටමේ සූදානම සහ අවබෝධය ඔබ බොහෝ විට සොයා ගනු ඇත, එහිදී අසමත් වීම යනු නැතිවූ ඩොලර් බිලියන ගණනක් සහ නැතිවූ ජීවිත බොහොමයක් විය හැකි නමුත් වෙනත් බොහෝ දේ නොවේ.

ඔබේ 'එදිනෙදා' ක්‍රමලේඛකයා සහ / හෝ ව්‍යාපාරය සඳහා, බොහෝ දුරට නිවැරදි කේතයේ යම් මට්ටමක නිරවද්‍යතාවයක් පිළිගැනීම සහ භාවිතා කළ හැකි නිෂ්පාදනයක් විකිණීම වඩා බෙහෙවින් ලාභදායී වන අතර, සංවර්ධකයින් විසින් අනාවරණය කර ගන්නා විට දෝෂ නැවත සකස් කළ හැකිය. භාවිතය.


3
ගණිතය යනු කුමක්ද යන්න පිළිබඳ පටු දැක්මක් සහ පරිගණක වැඩසටහනකට ඇතුළත් වන "ඔප්පු කිරීම" පිළිබඳ පුළුල් දැක්මක් ඔබට ඇති බව පෙනේ. වැඩසටහනක් නිවැරදි බව සනාථ කිරීම සඳහා ඔබට මුළු පද්ධතියම නිවැරදි බව ඔප්පු කිරීමට අවශ්‍ය නැත , අනෙක් සංරචක ඒවායේ පිරිවිතරයන්ට අනුකූල යැයි උපකල්පනය කිරීමෙන් එය නිවැරදි බව ඔප්පු කළ යුතුය . ඔවුන් එසේ නොකරන්නේ නම්, එය ඔබගේ වැඩසටහනේ වරදක් නොවේ. අනෙක් අතට, ඔබේ වැඩසටහන බිඳී ගියහොත් එය එම සංරචකවල පිරිවිතරයේ කොටසක් නොවන තොරතුරු මත රඳා පවතී, උදා: IEEE754 ක්‍රියාත්මක කිරීමේ වෙනස්කම්, එය ඔබේ වරදකි.
ඩෙරෙක් එල්කින්ස් SE

සාධාරණ අදහස් දැක්වීම. සමහර පාරිභාෂිතය මගේ අධ්‍යයන පසුබිම නොවන බැවින් මම එය වැරදි ලෙස භාවිතා කරමි. මගේ පෙර අදහස් නිසා වෙනත් සංරචක දෝෂ රහිත යැයි උපකල්පනය කිරීම wise ානවන්ත දෙයක් නොවන බව මට හැඟුණත්.
navigator_

4

ඔබේ තර්කය වලංගු යැයි මම සිතමි, නමුත් ඔබේ ආදානය එසේ නොවේ. ගණිතමය සාක්‍ෂි දෙකම මිනිසුන් විසින් ලියනු ලැබුවහොත් වැඩසටහන් වලට වඩා වැරදි ඉවසා දරාගත නොහැක. ඩිජ්ක්ස්ට්‍රා දැනටමත් මෙහි උපුටා දක්වා ඇති නමුත් මම අමතර උපුටා දැක්වීමක් ඉදිරිපත් කරමි.

ගණනය කිරීම අපේක්ෂිත ප්‍රති establish ල තහවුරු කරනු ඇති බවට සහතික කිරීම සඳහා අපගේ සීමිත බලතල ප්‍රමාණවත් වන පරිදි අපි ගණනය කිරීම් සංවිධානය කළ යුතුය. මෙම සංවිධානයට වැඩසටහනේ සංයුතිය ඇතුළත් වන අතර එහිදී අපට ඊළඟ ප්‍රමාණයට මුහුණ දීමට සිදුවේ. වැඩසටහන් පා text යේ දිග, අපි මෙම ගැටළුව පැහැදිලි පිළිගැනීමක් ලබා දිය යුතුය. පා text යක් කියවීමට හෝ ලිවීමට අපට හැකි ප්‍රමාණය එහි ප්‍රමාණය මත රඳා පවතින බව අප දැන සිටිය යුතුය. [...]

“පැහැදිලිකම” ප්‍රමාණාත්මක අංශයන් උච්චාරණය කර ඇති බව පා the කයාගේ අවධානයට යොමු කිරීමට මා කැමති විය යුත්තේ එම මනෝභාවය තුළම ය. බොහෝ ගණිත ians යන් කුතුහලයෙන් යුතුව දන්නා බව පෙනේ. පිටු දහයක් කොන්දේසි වලින් සෑහීමකට පත්වන විට නිගමනයක වලංගු භාවය සඳහන් කරන ප්‍රමේයයක් පහසු මෙවලමක් නොවේ, මන්ද ප්‍රමේයයට ආයාචනා කරන සෑම අවස්ථාවකම සියලු කොන්දේසි සත්‍යාපනය කළ යුතුය. යුක්ලීඩියානු ජ්‍යාමිතියෙහි, පයිතගරස් ප්‍රමේයය A, B සහ C යන ඕනෑම ලක්ෂ්‍ය තුනක් සඳහා දරයි. ඒ අනුව A සහ ​​C හරහා සරල රේඛාවක් විකලාංග රේඛාව B සහ C හරහා සරල රේඛාවක් කරා ඇද ගත හැකිය. හෝ A, B සහ C යන සියලුම කරුණු සමපාත වේද? පයිතගරස් ප්‍රමේයය භාවිතා කළ හැකි පහසුව සඳහා මෙය බොහෝ දුරට වගකිව යුතු බව පෙනේ.

සාරාංශගත කිරීම: මන්දගාමී බුද්ධිමත් මිනිසෙකු ලෙස මට ඉතා කුඩා හිසක් ඇති අතර, ඒ සමඟ ජීවත් වීමටත්, මගේ සීමාවන්ට ගරු කිරීමටත්, ඒවා නොසලකා හැරීමට උත්සාහ කරනවාට වඩා ඔවුන්ට සම්පූර්ණ ගෞරවය ලබා දීමටත් මම ඉගෙන ගෙන ඇත්තෙමි. අසමත් වීමෙන් ද ished ුවම්.

මෙය ඩිජ්ක්ස්ට්‍රා හි ව්‍යුහාත්මක ක්‍රමලේඛනයේ පළමු පරිච්ඡේදයේ අවසාන ඡේද තුන තරමක් සංස්කරණය කර ඇත.

සමහර විට මෙය නැවත මුද්‍රණය කිරීම සඳහා, ඔබේ ප්‍රශ්නයට වඩා හොඳින් අදාළ කර ගැනීම සඳහා: නිරවද්‍යතාවය බොහෝ දුරට ඔබේ සාක්‍ෂි ප්‍රමාණයේ කාර්යයකි. දිගු ගණිතමය සාක්‍ෂි වල නිරවද්‍යතාවය තහවුරු කිරීම ඉතා අපහසුය (ප්‍රකාශිත "සාක්‍ෂි" බොහෝමයක් අවිනිශ්චිතතාවයේ ජීවත් වේ. එහෙත්, ඔබ සුළු වැඩසටහන් වල නිරවද්‍යතාවය සුළු සාක්‍ෂි සමඟ සංසන්දනය කරන්නේ නම්, සැලකිය යුතු වෙනසක් නොමැත. කෙසේ වෙතත්, ස්වයංක්‍රීය සනාථ කිරීමේ සහායකයින් (පුළුල් අර්ථයකින් ගත් කල, ඔබේ ජාවා සම්පාදකයා ද සනාථ කිරීමේ සහායකයෙකි), බොහෝ වැඩ කටයුතු ස්වයංක්‍රීය කිරීමෙන් වැඩසටහන් ජයග්‍රහණය කිරීමට ඉඩ දෙන්න.


"දිගු ගණිතමය සාක්ෂි" යන්නෙන් ඔබ අදහස් කරන්නේ කුමක්ද? ප්‍රස්තාරයේ සුළු ප්‍රමේයයේ සාධනය තරමක් දිගු නමුත් එය කිසිවෙකු විසින් ඇත්ත වශයෙන්ම විවාදයට ලක් නොකරයි. ෆීට්-තොම්සන් ප්‍රමේයයට සෑහෙන දිගු සාක්‍ෂියක් ඇත, නමුත් එය කිසි විටෙකත් අවිනිශ්චිත නොවීය. සාක්ෂි සහ වැඩසටහන් වල දිග ඔබ සැසඳෙන්නේ කෙසේද? වචන ගණන? සමාන සංකීර්ණතාවයේ (දිග) සාධනයන් සහ වැඩසටහන් සංසන්දනය කිරීමේදී සැබවින්ම සාක්ෂි සහ වැඩසටහන් අතර සැලකිය යුතු වෙනසක් නැද්ද?
යුවල් ෆිල්මස්

U යූවල් ෆිල්මස් උපුටා දැක්වීමේදී මෙන්: ප්‍රකාශ පිටු දහයක් මිනිසුන්ට දිගු වේ. වැඩසටහනක දිග ගැන මා විනිශ්චය කරන්නේ කෙසේද? හොඳයි, ඩික්ස්ට්‍රා මෙට්‍රික් එකක් ඉදිරිපත් කළේය: එහි පා of යේ දිග. මම හිතන්නේ එය ඉතා සරල විය හැකි නමුත් එය හොඳ ur ෂධයකි. නිදසුනක් ලෙස,
චක්‍රීය

4

එය නෙමෙයි. ගණිතමය සාක්‍ෂි ස්වභාවයෙන්ම දෝෂ සහිත ය, එය ඔවුන්ගේ පා ​​readers කයන්ට සම්පාදකයෙකුට වඩා අවසර දී ඇත. ඒ හා සමානව, පරිගණක වැඩසටහනක පා readers කයින් එය නිවැරදි යැයි විශ්වාස කිරීමට පහසුවෙන්ම රැවටෙනු ඇත, අවම වශයෙන් ඔවුන් එය ක්‍රියාත්මක කිරීමට උත්සාහ කරන තුරු.

උදාහරණයක් ලෙස, අපි ගණිතමය සාක්ෂියක් ZFC වැනි විධිමත් භාෂාවකට පරිවර්තනය කිරීමට උත්සාහ කළහොත්, එහි දෝෂ ද අඩංගු වේ. එයට හේතුව මෙම සාක්ෂි සැබවින්ම දිගු විය හැකි බැවින් සාධනය උත්පාදනය කිරීම සඳහා වැඩසටහනක් ලිවීමට අපට බල කිරීමයි. පදනම් සාක්ෂි විධිමත් කිරීම සඳහා සක්‍රීය පර්යේෂණ තිබුණද, ස්වල්ප දෙනෙක් ඔවුන්ගේ අනතුරේ දී කරදරයට යති.

ඇත්ත වශයෙන්ම, ගණිතයට BSOD ලබා ගත හැකිය! එය පළමු අවස්ථාව නොවේ!

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ප්‍රමාණවත් ලෙස සත්‍යාපනය කර ඇති සියලුම ගණිතමය සාක්‍ෂි අත්‍යවශ්‍යයෙන්ම නිවැරදි හෝ නිවැරදි කළ හැකිය යන මෙම සාම්ප්‍රදායික අදහස ඔබේ මෘදුකාංග ව්‍යාපෘතිය ක්‍රියාත්මක කිරීමේදී පෙළඹවීමකි: අපි මාර්ග සිතියමේ රැඳී සිටින තාක් කල්, අපි සියලු දෝෂ ඉවත් කර ගනිමු විශේෂාංග සම්පූර්ණයි - එය නිශ්චිත අවසාන නිෂ්පාදනයක් කරා මෙහෙයවන ක්‍රියාකාරී ක්‍රියාවලියකි.

මෙන්න ෆ්ලිප් පැත්ත. බලන්න, අපට දැනටමත් අරමුදල් ලැබී ඇත, ව්‍යාපාර සංකල්පය වලංගු කර ඇත, ඔබට කියවීම සඳහා සියලුම ලියකියවිලි මෙහි ඇත. අපට අවශ්‍ය වන්නේ ඔබ ක්‍රියාත්මක කිරීමයි. එය ස්ථිර දෙයක්!

හිල්බට් ගැන ද කණගාටු නොවෙමු , ඔහු දැන සිටියේ ඔහු එයට ඇතුල් වන්නේ කුමක් ද යන්නයි. එය ව්‍යාපාරයක් පමණි.

ඔබට සැබවින්ම සහතික වීමට අවශ්‍ය නම්, සෑම දෙයක්ම එක් එක් සිද්ධිය අනුව ගෙන ඔබේම නිගමනවලට එළඹෙන්න!


4

මට සඳහනක් සොයාගත නොහැක, නමුත් මම හිතන්නේ ටෝනි හෝරේ වරක් පහත දැක්වෙන රේඛා ඔස්සේ යමක් කීවේය: වැඩසටහනක් පරික්ෂා කිරීම සහ සාක්ෂියක් පරික්ෂා කිරීම අතර වෙනස නම් සාක්ෂියක් වරකට පේළි දෙකක් පරීක්ෂා කළ හැකිය.

වචනයෙන්: ප්‍රදේශය.

සාක්‍ෂි ලියා ඇති බැවින් ඒවා පහසුවෙන් පරීක්ෂා කළ හැකිය. ඒවා ක්‍රියාත්මක කිරීමට හැකි වන පරිදි වැඩසටහන් ලියා ඇත. මෙම හේතුව නිසා, ක්‍රමලේඛකයින් සාමාන්‍යයෙන් වැඩසටහන පරික්ෂා කරන කෙනෙකුට ප්‍රයෝජනවත් වන තොරතුරු අතහැර දමයි.

X කියවීමට පමණක් ඇති මෙම වැඩසටහන සලකා බලන්න

    assume x >= 0
    p := 0 ;
    var pp := 0 ;
    while( x >= pp + 2*p + 1 ) 
    {
        var q := 1 ;
        var qq := q ;
        var pq := p ;
        while(  pp + 4*pq + 4*qq <= x )
        {
            q, pq, qq := 2*q, 2*pq, 4*qq ;
        }
        p, pp := p + q, pp + 2*pq + qq ;
    }
    assert  p*p <= x < (p+1)*(p+1)

ක්‍රියාත්මක කිරීම පහසුය, නමුත් පරීක්ෂා කිරීම අපහසුය.

නමුත් මා විසින් අස්ථානගත කරන ලද ප්‍රකාශයන් නැවත එකතු කළහොත්, එක් එක් පැවරුම් අනුපිළිවෙල එහි පූර්ව හා පසු කොන්දේසි වලට අනුකූලව නිවැරදිද යන්න පරීක්ෂා කිරීමෙන් ඔබට වැඩසටහන දේශීයව පරීක්ෂා කළ හැකිය. වෙනස් නොවන සහ ලූප් ගාඩ් ප්‍රතික්ෂේප කිරීම.

    assume x >= 0
    p := 0 ;
    var pp := 0 ; 
    while( x >= pp + 2*p + 1 ) 
        invariant p*p <= x 
        invariant pp == p*p
        decreases x-p*p 
    {
        var q := 1 ;
        var qq := q ; 
        var pq := p ; 
        while(  pp + 4*pq + 4*qq <= x )
            invariant (p+q)*(p+q) <= x
            invariant q > 0 
            invariant qq == q*q 
            invariant pq == p*q 
            decreases x-(p+q)*(p+q)
        {
            q, pq, qq := 2*q, 2*pq, 4*qq ;
        }
        assert (p+q)*(p+q) <= x and pp==p*p and pq==p*q and qq==q*q and q>0
        p, pp := p + q, pp + 2*pq + qq ;
    }
    assert  p*p <= x < (p+1)*(p+1)

මුල් ප්‍රශ්නයට නැවත පැමිණීම: පරිගණක කේත ලිවීමට වඩා ගණිතමය සාක්ෂි ලිවීම වැරදිසහගත වන්නේ ඇයි? සාක්ෂි ඔවුන්ගේ පා ​​readers කයන්ට පහසුවෙන් පරීක්ෂා කර බැලීමට නිර්මාණය කර ඇති හෙයින්, ඒවා පහසුවෙන් ඔවුන්ගේ කතුවරුන් විසින් පරීක්ෂා කරනු ලබන අතර, එබැවින් අනතුරු ඇඟවීමේ කතුවරුන් ඔවුන්ගේ සාක්ෂි වල තාර්කික දෝෂ සිදු නොකිරීමට (හෝ අවම වශයෙන් තබා ගැනීමට) පෙළඹේ. අපි ක්‍රමලේඛනය කරන විට, අපගේ කේතය නිවැරදි බවට හේතුව ලිවීමට අප බොහෝ විට අසමත් වේ; ප්‍රති result ලය වනුයේ පා check කයන්ට සහ වැඩසටහනක කතුවරයාට කේතය පරීක්ෂා කිරීම දුෂ්කර ය; ප්‍රති result ලය වනුයේ කතුවරුන් වැරදි සිදු කිරීම (පසුව තබා ගැනීම) ය.

නමුත් බලාපොරොත්තුවක් ඇත. අපි වැඩසටහනක් ලියන විට, වැඩසටහන නිවැරදි යැයි අප සිතන හේතුවද ලියා තබන්නේ නම්, අපට එය ලියන විට කේතය පරීක්ෂා කර අඩු දෝෂ සහිත කේතයක් ලිවිය හැකිය. අනෙක් අයට අපගේ කේතය කියවා එය තමන් විසින්ම පරීක්ෂා කර ගත හැකි ප්‍රතිලාභයක් ද මෙයින් ඇත.


3

වෙනත් පිළිතුරු ඔවුන්ගේ පිළිතුරු වල ස්පර්ශ වී ඇති පරිදි (මට විස්තාරණය කිරීමට අවශ්‍යයි), නමුත් ගැටලුවේ විශාල කොටසක් වන්නේ පුස්තකාල භාවිතයයි. පරිපූර්ණ ලියකියවිලි සහිතව වුවද (දෝෂ රහිත කේතය තරම් පොදු), පුස්තකාලය පිළිබඳ සම්පූර්ණ දැනුම පුස්තකාලය භාවිතා කරන සෑම ක්‍රමලේඛකයෙකුටම මාරු කළ නොහැක. ක්‍රමලේඛකයාට ඔවුන්ගේ පුස්තකාලය මනාව තේරෙන්නේ නැත්නම්, එය භාවිතා කිරීමේදී ඔවුන් වැරදි කරයි. සමහර විට මේවා කේත ක්‍රියා විරහිත වූ විට සොයාගත හැකි තීරණාත්මක දෝෂ වලට හේතු විය හැක. නමුත් සුළු දෝෂ සඳහා මේවා නොදැනේ.

ගණිත ian යෙකු දැනට පවතින සාක්ෂි සහ දෙහි ගෙඩි සම්පූර්ණයෙන් තේරුම් නොගෙන භාවිතා කළහොත් ඒ හා සමාන තත්වයක් වනු ඇත; ඔවුන්ගේම සාක්ෂි දෝෂ සහිත විය හැකිය. මෙයින් යෝජනා කළ හැකි විසඳුමක් නම් යමෙකු භාවිතා කරන සෑම පුස්තකාලයක්ම හොඳින් ඉගෙන ගැනීමයි; මෙය ප්‍රායෝගිකව බොහෝ කාලයක් ගත වන අතර ක්‍රමලේඛකයා සතුව නැති වසම් දැනුම අවශ්‍ය විය හැකිය.

වඩාත් සංක්ෂිප්තව කිවහොත්, මෘදුකාංග ඉංජිනේරු විද්‍යාව (පොදුවේ ඉංජිනේරු විද්‍යාව) පදනම් වී ඇත්තේ ඔවුන් විශේෂ ize වූ ගැටලුවේ කුඩා අංශ කෙරෙහි අවධානය යොමු කිරීමට මිනිසුන්ට ඉඩ සැලසීම සඳහා විවිධ මට්ටමේ සාරාංශගත කිරීම මත ය. එක් එක් ස්ථර අතර. එම සන්නිවේදනය පරිපූර්ණ නොවන විට, එය ගැටළු ඇති කරයි.


3
රැඳී සිටින්න, ගණිත ians යන් ඔවුන් භාවිතා කරන සාක්ෂි සහ දෙහි ගෙඩි "සම්පූර්ණයෙන් තේරුම් ගනී" යැයි ඔබ සිතන්නේ කුමක් නිසාද? ඔබ මෙහි නිරූපණය කිරීමට උත්සාහ කරන ගණිත ians යන් සහ ක්‍රමලේඛකයින් අතර ඇති වෙනස කුමක්දැයි මට විශ්වාස නැත.
ඩෙරෙක් එල්කින්ස් SE

3

ඒ සියලු විශිෂ්ට පිළිතුරු වලින් පසුව මම මුල් වීමට උත්සාහ කරමි.

වැඩසටහන් යනු සාක්ෂි ය

මෙම කරි-හොවාඩ් isomorphism අපට පවසනවා, ඔබේ වැඩසටහන තුළ වර්ග ප්රමේයයන් හා සැබෑ කේතය ඔවුන්ගේ සාක්ෂියකි.

මෙය ඉතා වියුක්ත හා ඉහළ මට්ටමේ මතයක් බව පිළිගත යුතුය. ඔබ බොහෝ විට අදහස් කරන ගැටලුව නම්, සාමාන්‍ය කේතයක් ලිවීම වඩා පහත් මට්ටමක පවතින නිසා එය ලිවීම දුෂ්කර ය. බොහෝ අවස්ථාවන්හිදී ඔබ "කළ යුතු දේ යන්ත්‍රයට පැවසිය යුතුය". නැතහොත්, වෙනත් ආකාරයකින් මෙය සොයා බැලීමට: ගණිත ians යන් වියුක්ත කිරීමට ඇත්තෙන්ම හොඳයි.

පැති සටහනක් ලෙස: "ඇළ දොළවල සංගීතය" යනු දෙකම අතර ඇති ලස්සනම පාලම් වලින් එකකි. එය මූලික වශයෙන් "මට අවශ්‍යයි" යැයි පැවසීමට හැකි දේවල් සකස් කරයි මෙම දී බව මාර්ගය" හා යන්ත්ර, භූගෝලීය පිහිටීම කරන්නේ මෙම අපේක්ෂිත ලෙස ම.


මෙය මුළුමනින්ම ආමන්ත්‍රණය කරන්නේ දැයි මට නොපෙනේ. ඔවුන් බලවත් ආකාරයේ පද්ධති සහිත ක්‍රමලේඛන භාෂා ගැන කතා කරන බවට OP කිසිදු ඇඟවීමක් නොකළ අතර, මම හිතන්නේ ඒවා වඩාත් සාමාන්‍ය වර්ගයේ පද්ධති අදහස් කරයි. ඉතින් කරි-හොවාර්ඩ් මේ අවස්ථාවේ දී ඉතා සුළු කාරණයක්.
6005

මම දන්නවා එය සී හෝ ඒ හා සමාන දේවල් සඳහා තරමක් දුරස් වූ දෙයක් බව. නමුත් මගේ අදහස නම්: ගණිතය සාමාන්‍ය සීඑස් ආරම්භකයකු සිතනවාට වඩා සමීප ය!
ඔලෙග් ලොබචෙව්

1
මගේ පිළිතුරේ මා සඳහන් කළ කරි-හොවාර්ඩ්ස් සමාවයවිකතාවයේ 'නොසැලකිලිමත් නිරීක්ෂකයෙකු' බව පෙනේ. අපට වැඩසටහන් සහ සාධනයන් අතර සමාවයවිකතාවයක් තිබුණද, වැඩසටහන් ලිවීමේ හා සාක්ෂි ලිවීමේ ක්‍රියාව කිසිසේත්ම සමාන බව එය අනුගමනය නොකරයි. ඇත්ත වශයෙන්ම, සියලු 'සිත්ගන්නාසුළු' හෝ 'සාමාන්‍ය' වැඩසටහන් සාමාන්‍ය සාධනයකට අනුරූප නොවන අතර අනෙක් අතට.
විවික්ත කටුස්සා

Is ඩිස්ක්‍රෙටෙලිසාර්ඩ් “සිත්ගන්නාසුලු” වැඩසටහන් “සාමාන්‍ය සාක්ෂියකට” අනුරූප නොවන බව ප්‍රත්‍යක්ෂ නොවේ. මෙන්න මම යමෙකුගේ “සාමාන්‍ය සාධනය” ගෙන ප්‍රතික්ෂේප කළ නොහැකි රසවත් වැඩසටහනක් (ගෝස්සියානු තුරන් කිරීම හා සමීපව සම්බන්ධ දෙයක්) නිපදවන උදාහරණයකි . බොහෝමයක් “සිත්ගන්නාසුළු” වැඩසටහන් ප්‍රයෝජනවත් ලෙමා හෝ ප්‍රමේයයන් වනු ඇතැයි මම සිතමි, නමුත් බොහෝ (ruc ලදායී) සාක්ෂි වලට සැබෑ පරිගණකමය වැදගත්කමක් නැත - ඒවා අතුරු තත්ත්වයන් සත්‍යාපනය කරයි - බොහෝ ඒවා කළත්.
ඩෙරෙක් එල්කින්ස් SE

3

වෙනත් බොහෝ පිළිතුරු වලින් කිසිවක් පහත සඳහන් නොවේ. ගණිතමය සාක්ෂි ක්‍රියාත්මක වන්නේ අසීමිත මතකය සහ අනන්ත පරිගණක බලය ඇති මන inary කල්පිත පරිගණක පද්ධති මත ය. එබැවින් ඔවුන්ට අසීමිත නිරවද්‍යතාව සඳහා අත්තනෝමතික ලෙස විශාල සංඛ්‍යාවක් රඳවා ගත හැකි අතර කිසිදු ගණනය කිරීමක නිරවද්‍යතාව නැති වී යයි.

π


2
"ගණිතමය සාක්ෂි ක්‍රියාත්මක වන්නේ අසීමිත මතකය සහ අනන්ත පරිගණක බලය ඇති මන inary කල්පිත පරිගණක පද්ධති මත ය." බොහෝ ගණිතමය සාක්ෂි 'ක්‍රියාත්මක වන්නේ' විධිමත් වීජීය පද්ධති මත ය, උදා: තාත්වික සංඛ්‍යා (අපට 'අනන්ත නිරවද්‍යතාව' ඇති). මෙය වැඩසටහන් වලදී ද කළ හැකිය: මෙය හරියටම කරන ඊනියා පරිගණක වීජ ගණිත පද්ධති (CAS) ඇත! තවද, ගණිතයේ සමස්ත ක්ෂේත්‍රයන්ම සැලකිලිමත් වන්නේ අපට සියලු තාත්වික සංඛ්‍යා හරියටම සීමිත පාවෙන ලක්ෂ්‍ය සංඛ්‍යා ලෙස නිරූපණය කළ නොහැකි වීමයි. මම හිතන්නේ ඔබ ගණිතය හා ක්‍රමලේඛනය අතර වෙනසක් නැති තැනක වෙනසක් කරයි.
විවික්ත කටුස්සා

1
Is විචාරක, ඔව්, විශේෂ පැකේජ අත්තනෝමතික නිරවද්‍යතාවයකින් පවතී, නමුත් එසේ වුවද, පවතින මතකය සත්‍ය වශයෙන්ම ළඟා කර ගත හැකි නිරවද්‍යතාව සීමා කරයි. එසේම ඒවා විශේෂ පැකේජ වේ. එවැනි පැකේජ සමඟ වැඩසටහන්ගත කරනු ලබන්නේ ඉතා සුළු ප්‍රමාණයක් පමණි.
ක්‍රොබාර්

π

Is ඩිස්ක්‍රෙටලිසාර්ඩ්, මම හිතන්නේ මගේ අදහස තවමත් පවතී, බොහෝ ක්‍රමලේඛකයින් එවැනි CAS පද්ධති භාවිතා නොකරයි. තාත්වික වැඩසටහන් සඳහා ඒවා ඉතා මන්දගාමී ය. බොහෝ ක්‍රමලේඛන මූලික වශයෙන් සීමිත නිරවද්‍යතා සංඛ්‍යා මත ක්‍රියාත්මක වේ. ඉහළම භාෂාවන් වන්නේ සී, සී ++, පයිතන්, ජාවා යනාදියයි. කිසිවෙකු පෙරනිමියෙන් CAS විලාසිතාවේ නිරූපණය භාවිතා නොකරයි (මෙය සිදු කිරීම සඳහා පැකේජ ඒවා තුළ නිර්මාණය කළ හැකි වුවද). ඔබේ ප්‍රති-නියැදිය පරිගණක භාෂා / පද්ධතිවල ඉතා කුඩා උප කුලකයකි.
ක්‍රොබාර්

2
ro ක්‍රොබාර් ඔබේ පිළිතුරේ ඇති ගැටළුව නම්, අනාවරණය වූ දෝෂයන්ගෙන් බහුතරයක් පාවෙන ලක්ෂ්‍ය දෝෂ හෝ පූර්ණ සංඛ්‍යා පිටාර ගැලීම් නිසා නොවන බවයි (ඒවා හොඳ සංඛ්‍යාවක් දායක වුවද, එම අංගයන් නිසැකවම වැඩසටහනක සම්පූර්ණ නිරවද්‍යතාව බොහෝ දුරට අඩු කරයි). කෙසේවෙතත්, ගණිත ians යින්ට කාර්ය සාධනය, වෙලඳපොලට වෙලඳපොල, නඩත්තු කිරීමේ හැකියාව සහ අභියෝගාත්මක බව ඔප්පු වුවහොත් අවශ්‍යතා වෙනස් කිරීමට ඇති සීමිත හැකියාව වැනි ක්‍රමලේඛකයින්ගේ බොහෝ උත්සුකයන් ගණිත ians යින්ට නොමැති බවට ඔබට වඩාත් පොදු ප්‍රකාශයක් කළ හැකිය.
ඩෙරෙක් එල්කින්ස් SE

3

ගණිතමය සාක්ෂි වලට වඩා වැඩසටහන් දෝෂ සහිත වීමට වැදගත් හේතු දෙකක් මම දකිමි:

1: වැඩසටහන් වල විචල්‍යයන් හෝ ගතික වස්තූන් කාලයත් සමඟ වෙනස් වන අතර සාධනයන්හි ගණිතමය වස්තු සාමාන්‍යයෙන් ස්ථිතික වේ. මේ අනුව, ගණිතයේ අංකනය තර්කනයේ support ජු ආධාරකයක් ලෙස භාවිතා කළ හැකිය (සහ a = b නම්, මෙය එසේ වේ) මෙය වැඩසටහන් වල ක්‍රියා නොකරයි. එසේම, වැඩසටහන් සමාන්තරව හෝ බහු නූල් ඇති විට මෙම ගැටළුව වඩාත් නරක අතට හැරේ.

2: ගණිතය බොහෝ විට සාපේක්ෂව පිළිවෙලට අර්ථ දක්වා ඇති වස්තූන් (ප්‍රස්තාර, මනිෆෝල්ඩ්, මුදු, කණ්ඩායම්, ආදිය) උපකල්පනය කරන අතර ක්‍රමලේඛනය ඉතා අවුල් සහගත හා අක්‍රමවත් වස්තූන් සමඟ කටයුතු කරයි: සීමිත නිරවද්‍ය ගණිතය, සීමිත කොටස්, චරිත-පූර්ණ සංඛ්‍යා පරිවර්තනය, දර්ශක, එකතු කිරීමට අවශ්‍ය කසළ , ආදිය ... එබැවින් නිවැරදි භාවයට අදාළ කොන්දේසි එකතු කිරීම මතක තබා ගැනීම ඉතා අපහසු වේ.


3

ඔබ වෙනස් "කාණ්ඩ" දෙකක් වෙන්කර හඳුනාගත යුතුය:

  • ව්‍යාජ සාක්ෂි (හෝ ව්‍යාජ කේතය) - ඔබ පොත්වල දකින්නේ එයයි. එය ස්වාභාවික භාෂාවෙන් ලියා ඇත (උදා: ඉංග්‍රීසියෙන්). ගණිතය (හෝ ඇල්ගොරිතම) ඉගෙන ගැනීමට ඔබ භාවිතා කළ යුත්තේ එයයි.
  • විධිමත් සාක්ෂි (හෝ විධිමත් කේතය) - යාන්ත්‍රිකව සත්‍යාපනය කළ හැකි (හෝ ක්‍රියාත්මක කළ හැකි) ඔබේ සාධනය (හෝ කේතය) අවශ්‍ය වූ විට ඔබ එය ලියයි. එවැනි නියෝජනයක් සඳහා "මානව බුද්ධියක්" අවශ්ය නොවේ. පූර්ව නිශ්චිත පියවර කිහිපයක් අනුගමනය කිරීමෙන් (සාමාන්‍යයෙන් අද පරිගණක මගින් සිදු කරනු ලැබේ) එය යාන්ත්‍රිකව සත්‍යාපනය කළ හැකිය (හෝ ක්‍රියාත්මක කළ හැකිය).

අපි අවුරුදු දහස් ගණනක් තිස්සේ ව්‍යාජ කේත භාවිතා කරමින් සිටිමු (උදා: යුක්ලිඩ්ස් ඇල්ගොරිතම). පරිගණක සොයාගැනීමෙන් පසු විධිමත් කේත ලිවීම (සී හෝ ජාවා වැනි විධිමත් භාෂාවලින්) අතිශයින් ජනප්‍රිය වූ අතර ප්‍රයෝජනවත් විය. එහෙත්, කනගාටුවට කරුණක් නම්, විධිමත් සාක්ෂි (ප්‍රින්සිපියා ගණිත හෝ මෙටාමාත් වැනි විධිමත් භාෂාවලින්) එතරම් ජනප්‍රිය නොවීමයි. අද සෑම කෙනෙක්ම ව්‍යාජ සාක්ෂි ලියන බැවින් මිනිසුන් බොහෝ විට නව සාක්ෂි ගැන වාද කරති. ඒවායේ ඇති වැරදි සත්‍ය “ඔප්පු කිරීමෙන්” වසර, දශක හෝ සියවස් ගණනාවකට පසුව පවා සොයාගත හැකිය.


2

එය ප්‍රායෝගිකව හෝ ප්‍රතිපත්තිමය වශයෙන් වඩා දුෂ්කර දැයි අපට විමසිය හැකිය වශයෙන් සාක්ෂි ලිවීම හෝ කේත ලිවීම .

ප්‍රායෝගිකව, ඔප්පු කිරීම කේතීකරණයට වඩා දුෂ්කර ය. වසර දෙකක විශ්ව විද්‍යාල මට්ටමේ ගණිතයක් ලබා ඇති ඉතා සුළු පිරිසකට සාක්‍ෂි ලිවිය හැකිය, සුළු ඒවා පවා. වසර දෙකක විශ්ව විද්‍යාල මට්ටමේ සීඑස් ලබා ගත් පුද්ගලයින් අතර, අවම වශයෙන් 30% කටවත් FizzBuzz විසඳිය හැකිය .

නමුත් ප්‍රතිපත්තිමය වශයෙන් , එය අනෙක් පැත්තට යාමට මූලික හේතු තිබේ. සාක්‍ෂි, අවම වශයෙන් ප්‍රතිපත්තිමය වශයෙන්, විනිශ්චයක් හෝ අවබෝධයක් අවශ්‍ය නොවන ක්‍රියාවලියක් මගින් නිවැරදි බව පරීක්ෂා කළ හැකිය. වැඩසටහන් වලට බැහැ - කිසියම් නිශ්චිත ක්‍රියාවලියක් හරහා, වැඩසටහනක් නතර වේ දැයි අපට කිව නොහැක.


3
විශ්ව විද්‍යාල මට්ටමේ ගණිතයේ අවුරුදු දෙකක් යනු සාක්ෂි ලිවීම කෙරෙහි අවධානය යොමු කළ අවුරුදු දෙකක් නොවේ (හෝ සාක්ෂි ලිවීමට ඕනෑම වේලාවක් ගත කිරීම). එයින් කියැවෙන්නේ, මධ්‍යම / මුල් උසස් පාසැල් ජ්‍යාමිතිය පන්ති සඳහා සාක්‍ෂි ඇතුළත් කිරීම සාමාන්‍ය දෙයක් බවයි, එබැවින් පෙනෙන ආකාරයට අවුරුදු 13 ක ළමයින්ට පවා පාසල් අධ්‍යාපනයට වඩා අඩු අධ්‍යාපනයක් සහිත සරල සාක්ෂි ලිවීමට හැකි වනු ඇතැයි අපේක්ෂා කළ හැකිය . මාතෘකාව. පියවරෙන් පියවර වීජීය ගණනය කිරීම් ද අත්‍යවශ්‍යයෙන්ම සාක්‍ෂි වේ. මම හිතන්නේ ඔබ ක්‍රමලේඛන මාර්ගය ඉතා අඩු සහ ඉහළ මට්ටමක පවතින බව ඔප්පු කිරීම සඳහා "සුළු" සඳහා තීරුව තබයි.
ඩෙරෙක් එල්කින්ස් SE

3
අපට එකම ආකාරයකින් වැඩසටහන් ලිවිය හැකිය. ඔබ ලියන සෑම කාර්යයක් / ක්‍රියා පටිපාටියකටම විධිමත් පිරිවිතරයක් සහ එය පිරිවිතරයට අනුකූල වන බවට සාක්ෂියක් (කොක්හි කියන්න) සැපයිය යුතු යැයි ඔබට සිතිය හැකිය. විනිශ්චයක් හෝ අවබෝධයක් අවශ්‍ය නොවන ආකාරයෙන් එම සාක්ෂිය නිවැරදි බව පරීක්ෂා කිරීමට ක්‍රම තිබේ.
ඩීඩබ්ලිව්

W ඩීඩබ්ලිව්: ඔබ උපකල්පනය කරන්නේ (1) අපේක්ෂිත හැසිරීම සෑම අවස්ථාවකම සම්පූර්ණයෙන් නියම කළ හැකි බවයි, (2) අවශ්‍ය සාක්ෂි තිබේ (එනම් ගැටළුව අවිනිශ්චිත නොවේ), සහ (3) සාක්ෂි තිබේ නම්, අපි එය සොයාගත හැකිය. මෙම උපකල්පන තුනම අවම වශයෙන් සමහර අවස්ථාවල (බොහෝ විට සෑම අවස්ථාවකම පාහේ) අසත්‍ය යැයි මම සිතමි. නැවත 3, සමහර සාක්ෂි පහසු වුවත්, බොහෝ සාක්ෂි සොයා ගැනීම ඉතා අපහසු බව සලකන්න.
බෙන් ක්‍රොවෙල්

E ඩෙරෙක් එල්කින්ස්: විශ්ව විද්‍යාල සිසුන්ට ඉතා සුළු සාක්‍ෂි පවා ලිවිය හැකි යැයි මා කරන ප්‍රකාශය පදනම් වී ඇත්තේ මගේ සිසුන් සමඟ මා ලද අත්දැකීම් මත ය. මෙය ප්‍රජා විද්‍යාලයක බැවින් වයි.එම්.වී. සමහර උසස් පාසැල් ජ්‍යාමිති පංතිවල අධික ලෙස සාධනය ලිවීමේ මාත්‍රාවක් ඇතුළත් වීම නිසා සියලුම විද්‍යාල සිසුන්ට සාක්ෂි ලිවිය හැකිය යන කාරණය පරිවර්තනය නොවේ. මූලික වීජ ගණිතය කරන්නේ කෙසේදැයි ඔවුන් දැන සිටිය යුතුය, නමුත් මගේ පාසලේ නවක සිසු සිසුවියන්ගෙන් අඩක් පමණ කළ නොහැක - මෙය බොහෝ දෙනෙක් අසමත් වීමට හේතුව පැහැදිලි කිරීමට උපකාරී වේ.
බෙන් ක්‍රොවෙල්

එය නිවැරදි කිරීම සඳහා වැඩසටහන පරීක්ෂා කිරීම සඳහා ඔබට එකම ප්‍රවේශයක් ගත නොහැක්කේ මන්දැයි පැහැදිලි කිරීමට පිළිතුරට එකතු කිරීම හොඳ පැහැදිලි කිරීමක් වනු ඇත. සාමාන්යයෙන් (2) වන සහ (3) වන කලාතුරකින් ප්රශ්නයක්, ප්රායෝගිකව හෝ ප්රතිපත්තියක් වශයෙන් හෝ (ඔබට වෙනස් ආකාරයකට වැඩසටහන නිවැරදි, ලිවීම් ඔප්පු කිරීමට නොහැකි තෙක් ඔබ නම් වේ හැක එය නිවැරදි බව ඔප්පු). කෙසේ නමුත් ඔබගේ (1) වන වැදගත් කරුණ, මම එය අපි සාධකයන් සඳහා මෙන් එය දුෂ්කර වැඩ සටහන් සඳහා එකම දෙයක් කරන්න කරයි මන්ද යන්න පැහැදිලි කිරීමට පිළිතුරු ශක්තිමත් කියලා.
ඩීඩබ්ලිව්

2
  1. පරිගණක වැඩසටහන් සැබෑ ලෝකයේ පරීක්ෂා කරනු ලැබේ. සීමිත පිරිසකට පමණක් තේරුම් ගත හැකි දිගු ගණිතමය සාක්ෂියක ඇති උපක්‍රමශීලී තාක්ෂණික දෝෂයක්, හඳුනා නොගෙන සිටීමට හොඳ අවස්ථාවක් තිබේ. මෘදුකාංග නිෂ්පාදනයේ එකම ආකාරයේ දෝෂයක් සාමාන්‍ය පරිශීලකයින් දකින අමුතු හැසිරීම් ඇති කරයි. එබැවින් පරිශ්‍රය නිවැරදි නොවිය හැකිය.

  2. පරිගණක වැඩසටහන් ප්‍රයෝජනවත් තාත්වික කාර්යයන් ඉටු කරයි. මෙය සිදු කිරීම සඳහා ඔවුන් 100% නිවැරදි විය යුතු නැත, සහ නිවැරදිභාවය පිළිබඳ ඉහළ ප්‍රමිතීන් මිල අධිකය. සාධනය ප්‍රයෝජනවත් වන්නේ ඒවා යමක් ඔප්පු කළහොත් පමණි, එබැවින් '100% නිවැරදි' කොටස මඟ හැරීම ගණිත ians යන්ට විකල්පයක් නොවේ.

  3. ගණිතමය සාක්ෂි පැහැදිලිව අර්ථ දක්වා ඇත. සාක්ෂි දෝෂ සහිත නම්, කතුවරයා වැරැද්දක් කර ඇත. පරිගණක වැඩසටහන් වල බොහෝ දෝෂ සිදුවන්නේ අවශ්‍යතා නිසි ලෙස සන්නිවේදනය නොකිරීම නිසා හෝ ක්‍රමලේඛකයා අසා නැති දෙයක් සමඟ අනුකූලතා ගැටළුවක් ඇති බැවිනි.

  4. බොහෝ පරිගණක වැඩසටහන් නිවැරදි බව ඔප්පු කළ නොහැක. මුහුණු හඳුනා ගැනීම වැනි අවිධිමත් ලෙස අර්ථ දක්වා ඇති ගැටළු ඔවුන් විසින් විසඳනු ඇත. නැතහොත් ඒවා කොටස් වෙළඳපල පුරෝකථන මෘදුකාංගයක් මෙන් විය හැකි අතර විධිමත් ලෙස අර්ථ දක්වා ඇති නමුත් බොහෝ සැබෑ ලෝක විචල්‍යයන් ඊට ඇතුළත් වේ.


2

මානව ක්‍රියාකාරකමක් ලෙස ගණිතයේ විශාල කොටසක් වී ඇත්තේ වසම්-විශේෂිත භාෂාවන් වර්ධනය කිරීම වන අතර, ඔප්පු කිරීම සත්‍යාපනය කිරීම මිනිසෙකුට පහසුය.

සාධනයක ගුණාත්මකභාවය එහි දිග හා සංකීර්ණතාවයට ප්‍රතිලෝමව සමානුපාතික වේ. සලකා බලනු ලබන නිශ්චිත සාධනය තුළ අන්තර්ක්‍රියාකාරී සහායක සංකල්ප සමඟ අප ප්‍රකාශයක් කරමින් සිටින තත්වය විස්තර කිරීම සඳහා හොඳ අංකනයක් වර්ධනය කිරීමෙන් දිග හා සංකීර්ණතාව බොහෝ විට අඩු වේ.

මෙය පහසු ක්‍රියාවලියක් නොවන අතර, පර්යේෂණයේ පෙරමුණෙන් ඉවත් කරන ලද පුද්ගලයින් විසින් සාක්‍ෂි දරන බොහෝ සාක්ෂි සිදුවන්නේ ගණිතමය ක්ෂේත්‍රවල (වීජ ගණිතය හා විශ්ලේෂණය වැනි) වසර සිය ගණනක්, දහස් ගණනක් නොව, එම ක්ෂේත්‍රයේ අංකනය ඇති වසර ගණනාවකි. සාක්‍ෂි ලිවීමේ ක්‍රියාව සුළඟක් සේ හැඟෙන තැනට පිරිපහදු කරන ලදි.

පර්යේෂණයන්හි ඉදිරියෙන්ම සිටින විට, විශේෂයෙන් ඔබ හොඳින් ස්ථාපිත හෝ හොඳින් සංවර්ධිත අංකනය සහිත ක්ෂේත්‍රවල නොමැති ගැටලු පිළිබඳව කටයුතු කරන්නේ නම්, නිවැරදි සාක්ෂියක් ලිවීමේ දුෂ්කරතාව නිවැරදි වැඩසටහනක් ලිවීමේ දුෂ්කරතාවයට ළඟා වේ. මෙයට හේතුව වන්නේ ඔබට ඒ සමඟම ක්‍රමලේඛන-භාෂා සැලසුමක ඇනලොග් ලිවීම, එය නිවැරදිව සම්පාදනය කිරීම සඳහා ඔබේ ස්නායුක ජාලය පුහුණු කිරීම, එහි ඇති සාක්ෂි ලිවීමට උත්සාහ කිරීම, මතකය නැතිවීම, භාෂාව ප්‍රශස්ත කිරීමට උත්සාහ කිරීම, ඔබේ මොළය භාෂාව ඉගෙන ගැනීම, නැවත සාධනය ලිවීම යනාදිය කරන්න.

නැවත අවධාරණය කිරීම සඳහා, නිවැරදි සාක්‍ෂි ලිවීම ගණිතයේ ඇතැම් අංශවල නිවැරදි වැඩසටහන් ලිවීමේ දුෂ්කරතාවයට එළඹිය හැකි යැයි මම සිතමි, නමුත් එම ක්ෂේත්‍ර අනිවාර්යයෙන්ම තරුණ හා සංවර්ධිත ඒවා බැවින් ගණිතයේ ප්‍රගතිය පිළිබඳ සංකල්පය පහසුවෙන්ම ඔප්පු කළ හැකි සාක්ෂි සමඟ සමීපව බැඳී ඇත. සත්‍යාපනය.

මට කිරීමට අවශ්‍ය කාරණය ව්‍යාකරණ කිරීමේ තවත් ක්‍රමයක් නම් ක්‍රමලේඛන භාෂා සහ ගණිතය යන දෙකම සැලසුම් කර ඇති දවස අවසානයේ තිබීමයි. එවිට පිළිවෙලින් පරිගණක වැඩසටහන් සහ සාක්ෂි සම්පාදනය කළ හැකිය. පරිගණක වැඩසටහනක් සම්පාදනය කිරීම පරිගණකයකින් සිදු කෙරෙන අතර සාමාන්‍යයෙන් වැඩසටහනේ නිරවද්‍යතාවට එතරම් සම්බන්ධයක් නැති සින්ටැක්ටික් නිරවද්‍යතාවය සහතික කරන අතරම, සාක්ෂියක් සම්පාදනය කිරීම මිනිසෙකු විසින් සිදු කරන අතර සින්ටැක්ටික් නිවැරදි බව සහතික කරයි. සාක්ෂි වල නිරවද්‍යතාවය.


1

ප්‍රායෝගිකව ඔප්පු කළ හැක්කේ සත්‍ය වන ගණිත ප්‍රකාශවලින් සුළු කොටසක් පමණි. වඩා වැදගත් දෙය නම්, සියලු සත්‍ය ප්‍රකාශයන් සනාථ කිරීමට ඉඩ සලසන සුළු නොවන (*) ගණිතමය අක්ෂර මාලාවක් සෑදීම කළ නොහැකි ය. පරිගණක සමඟ කළ හැකි දේවලින් ඉතා සුළු ප්‍රමාණයක් කිරීම සඳහා යමෙකුට වැඩසටහන් ලිවීමට අවශ්‍ය නම්, එය නිවැරදිව නිවැරදි මෘදුකාංගයක් ලිවීමට හැකි වනු ඇත, නමුත් පරිගණක බොහෝ විට ඉල්ලා සිටින්නේ ඔප්පු කළ හැකි-නිවැරදි දේට වඩා වැඩි යමක් කිරීමටය. මෘදුකාංගයට ඉටු කළ හැකිය.

(*) සියලු සත්‍ය ප්‍රකාශයන් ගණනය කිරීමට සහ ඒ අනුව ඔප්පු කිරීමට ඉඩ සලසන අක්ෂර මාලාවක් නිර්වචනය කළ හැකි නමුත් ඒවා සාමාන්‍යයෙන් එතරම් සිත්ගන්නා සුළු නොවේ. සාපේක්ෂව කථා කරන, සුළු නොවන ඒවාට අක්ෂර කට්ටල විධිමත් ලෙස වර්ගීකරණය කළ හැකි වුවද, ප්‍රධාන කරුණ නම් සත්‍යය නමුත් ඔප්පු කළ නොහැකි ප්‍රකාශවල ඔප්පු කළ හැකි පැවැත්ම කට්ටලයක අඩුපාඩුවක් නොවන බවයි. අක්ෂරවල. පවත්නා සත්‍ය-නමුත් ඔප්පු කළ නොහැකි ප්‍රකාශයන් ඔප්පු කිරීම සඳහා අක්ෂර එකතු කිරීම වෙනත් ප්‍රකාශ සත්‍ය බවට පත්වන නමුත් ඒවා නොමැතිව ඔප්පු කළ හැකිය.


1
"ප්‍රායෝගිකව ඔප්පු කළ හැක්කේ සත්‍ය වන ගණිත ප්‍රකාශවලින් සුළු කොටසක් පමණි." - ඔබ "කොටස" මනින්නේ කෙසේද? මෙය කිසියම් සම්භාවිතා ව්‍යාප්තියක් යටතේ තිබේද? මෙම ප්‍රකාශයට සහාය දැක්වීමට ඔබට සාක්ෂි තිබේද?
ඩීඩබ්ලිව්

"නිවැරදි මෘදුකාංගයකට කළ හැකි දේට වඩා වැඩි යමක් කිරීමට පරිගණක බොහෝ විට ඉල්ලා සිටී." - මේ සඳහා ඔබට සාක්ෂි තිබේද? ඔබට උදාහරණයක් තිබේද? ඔබ කියා සිටින්නේ “ප්‍රතිපත්තිමය වශයෙන් නිවැරදි බව ඔප්පු කළ හැකි දේ ඉක්මවා” හෝ “ප්‍රායෝගිකව ඔප්පු කිරීම අපට සාධාරණ ලෙස සිතාගත නොහැකි දේ ඉක්මවා” යනුවෙනි.
ඩීඩබ්ලිව්

@DW: X සහ Y යනු විකලාංග ප්‍රකාශ සත්‍ය නමුත් ඔප්පු කළ නොහැකි නම්, සෑම ඔප්පු කළ හැකි ප්‍රකාශයක් සඳහාම P සඳහා අවම වශයෙන් විකලාංග ප්‍රකාශ දෙකක් (P සහ X) සහ (P සහ Y) සත්‍ය වන නමුත් සත්‍ය නොවන ඒවා වේ. ඔප්පු කළ හැකි. අසීමිත කට්ටල සමඟ ගනුදෙනු කරන විට, එවැනි තර්කනයකින් කිසිවක් ඔප්පු කළ යුතු නොවේ, මන්ද යමෙකුට සමාන සංඛ්‍යාත භාවිතා කළ හැකි බැවින් අමුතු නිඛිල මෙන් දෙගුණයක් තරම් පූර්ණ සංඛ්‍යාවක් ඇති බව පෙන්විය හැකිය. මන්දයත් සෑම අමුතු සංඛ්‍යාවක් සඳහා කෙනෙකුට පූර්ණ සංඛ්‍යා දෙකක් (4x) හඳුනාගත හැකි බැවිනි (4x + 2) වෙනත් අමුතු නිඛිල සමඟ සම්බන්ධ නොවන නමුත් ඇත්ත වශයෙන්ම ඒකාකාර හා අමුතු නිඛිලවලට සමාන කාර්දිනල් බවක් ඇත.
සුපර් කැට්

W ඩීඩබ්ලිව්: “කුඩා කොටස” යන වාක්‍ය ඛණ්ඩය ප්‍රායෝගිකව ඔප්පු කළ හැකි සත්‍ය ප්‍රකාශවල භාගය විස්තර කිරීමේදී පමණක් අර්ථවත් විය හැකි නමුත් සියලු සත්‍ය ප්‍රකාශයන් ඔප්පු කිරීමට ඇති නොහැකියාව “අඩුපාඩුවක්” නොවන බව වටහා ගැනීම ප්‍රයෝජනවත් යැයි මම සිතමි. පරිගණක සම්බන්ධයෙන් ගත් කල, බොහෝ ක්ෂේත්‍රයන් සාමාන්‍යයෙන් ඉතා කුඩා, නමුත් ශුන්‍ය නොවන, අසමත් වීමේ සම්භාවිතාවක් ඇති ඇල්ගොරිතම භාවිතා කරයි, පසුව ඒවා සුසර කරන්න එවිට සම්භාවිතාව පිළිගත හැකි තරම් අඩු වේ (උදා: උල්කාපාතයකින් පහර දෙන උපකරණවලට වඩා පහළින්). බොහෝ අවස්ථාවන්හීදී, විවිධ අසාර්ථක ක්‍රම ස්වාධීන නොවේ, කෙසේ වෙතත් එය අත්‍යවශ්‍යයෙන්ම කළ නොහැකි විය හැකිය ...
සුපර් කැට්

... අසාර්ථකත්වයේ විවිධ සංයෝජනයන්හි සම්භාවිතාව තීරණය කිරීම. අත්තනෝමතික මිනිත්තුවක් තුළ අසමත් වීමේ සම්භාවිතාව 10 ^ -500 න් එකක් යැයි යමෙක් තක්සේරු කරන්නේ නම්, යමෙකුට විශාලත්වයේ ඇණවුම් සිය ගණනකින් ඉවත් විය හැකි අතර තවමත් විශ්වාසදායක පද්ධතියක් ඇත, නමුත් විශාලත්වයේ ඇණවුම් 494 කින් එකක් අක්‍රිය වුවහොත් සෑම වසර දෙකකට වරක් පද්ධතිය අසාර්ථක වනු ඇත.
සුපර් කැට්

1

ඔබ අවංකවම මෙහි ඇපල් හා දොඩම් සංසන්දනය කරයි. වැරදි-ඔප්පු සහ දෝෂ රහිත වීම එකම දෙයක් නොවේ.

වැඩසටහනක් අංක සංසන්දනය නම් 2හා 3එය බවයි 2 is greater than 3, එය නිසා සපිරි ක්රියාත්මක විය හැකි:

# Buggy implementation
function is_a_greater_than_b(a,b):
  return b > a

වැඩසටහන තවමත් දෝෂ රහිත ය. ඉලක්කම් දෙකක් සංසන්දනය කරන විට aසහ bඑය සැමවිටම ඔබට පැවසිය හැකියb වඩා විශාල එයa . එය ඔබ (ක්‍රමලේඛකයා) පරිගණකයෙන් ඉල්ලා සිටිය යුතු දේ පමණක් නොවේ.


2
එවිට වැඩසටහනක "දෝෂය" පිළිබඳ ඔබේ අර්ථ දැක්වීම කුමක්ද?
user56834

0

අ) පරිගණක වැඩසටහන් ගණිතමය සාක්ෂි වලට වඩා විශාල බැවින්

a.1) ගණිතමය සාක්ෂි ලිවීමට වඩා සංකීර්ණ පරිගණක වැඩසටහන් ලිවීමේදී වැඩි පිරිසක් භාවිතා කරන බව මම විශ්වාස කරමි. එයින් අදහස් වන්නේ වැරැදි ආන්තිකය වැඩි බවයි.

ආ) ප්‍රධාන විධායක නිලධාරීන් / කොටස් හිමියන් කුඩා දෝෂ නිවැරදි කිරීමට වඩා මුදල් ගැන සැලකිලිමත් වන බැවිනි , මේ අතර ඔබට (සංවර්ධකයා ලෙස) යම් යම් අවශ්‍යතා / නියමිත දින / නිරූපණ සපුරාලීම සඳහා ඔබේ කාර්යයන් කළ යුතුය.

ඇ) කොම්ප් ස්කයි පිළිබඳ “ගැඹුරු” දැනුමක් නොමැතිව ඔබට ක්‍රමලේඛකයෙකු විය හැකි බැවින්, මේ අතර ගණිතය කිරීම දුෂ්කර වනු ඇත (මම විශ්වාස කරමි)

අමතරව:

නාසා:

මෙම මෘදුකාංගය දෝෂ රහිත ය. මිනිසා පරිපූර්ණ කර ඇති තරමට එය පරිපූර්ණයි. මෙම සංඛ්‍යාලේඛන සලකා බලන්න: වැඩසටහනේ අවසාන අනුවාද තුන - පේළි 420,000 ක් දිග - එක් දෝෂයක් පමණි. මෙම මෘදුකාංගයේ අවසාන අනුවාද 11 හි දෝෂ 17 ක් තිබුණි.

ගෝලීය ස්ථානගත කිරීමේ චන්ද්‍රිකා සමඟ සැරිසැරීමට ෂටලයට අවසර දීම සඳහා මෘදුකාංගය වැඩිදියුණු කිරීම, වැඩසටහනේ 1.5% ක් හෝ කේත පේළි 6,366 ක් ඇතුළත් වෙනසක්. එම එක් වෙනසක් සඳහා පිරිවිතර පිටු 2500 ක් ධාවනය වන අතර එය දුරකථන පොතකට වඩා er නකමකි. වත්මන් වැඩසටහන සඳහා පිරිවිතරයන් වෙළුම් 30 ක් පුරවා පිටු 40,000 ක් ධාවනය කරයි.

https://www.fastcompany.com/28121/they-write-right-stuff


"පරිගණක වැඩසටහන් ගණිතමය සාක්ෂි වලට වඩා විශාලයි" එය වැඩසටහන සහ සාධනය මත රඳා පවතී. මෙයින් බොහොමයක් ඉතා සමපේක්ෂන බව පෙනේ.
ඩේවිඩ් රිචර්බි

Av ඩේවිඩ් රිචර්බි, අන්තිම ෆර්මැට්ගේ ප්‍රමේයය සහ නාසා හි ඇපලෝ github.com/chrislgarry/Apollo-11 math.wisc.edu/~boston/869.pdf වැනි දේවල් මගේ මනසේ තිබී ඇත. තවද අපි මෙහෙයුම් පද්ධති ගැන කතා කිරීම සහ එසේ ය.
නික්මයාම

0

මූලික මට්ටම්:

අපි සරලම හා මූලික මට්ටමින් දේවල් දෙස බලමු.

ගණිතය සඳහා, අපට ඇත්තේ:
2 + 3 = 5

මම ඒ ගැන ඉගෙනගත්තේ මම ඉතා තරුණ අවධියේදී. මට වඩාත් මූලික අංග දෙස බැලිය හැකිය: වස්තු දෙකක් සහ වස්තු තුනක්. මහා.

පරිගණක වැඩසටහන් සඳහා, බොහෝ අය ඉහළ මට්ටමේ භාෂාවක් භාවිතා කිරීමට නැඹුරු වෙති. සමහර ඉහළ මට්ටමේ භාෂාවන්ට සී සී වැනි පහළ ඉහළ පෙළේ භාෂාවකට “සම්පාදනය” කළ හැකිය. එවිට එකලස් කිරීමේ භාෂාවට පරිවර්තනය කළ හැකිය. එකලස් කිරීමේ භාෂාව යන්ත්‍ර කේත බවට පරිවර්තනය වේ. බොහෝ අය සිතන්නේ සංකීර්ණත්වය එතැනින් අවසන් වන නමුත් එය එසේ නොවේ: නූතන CPUs යන්ත්‍ර කේතය උපදෙස් ලෙස සලකයි, නමුත් එම උපදෙස් සත්‍ය වශයෙන්ම ක්‍රියාත්මක කිරීම සඳහා “මයික්‍රෝ කේතය” ධාවනය කරන්න.

මෙයින් අදහස් කරන්නේ, වඩාත් මූලික මට්ටමින් (සරලම ව්‍යුහයන් සමඟ කටයුතු කරන), අපි දැන් කටයුතු කරන්නේ දෘඩාංග තුළ අන්තර්ගත කර ඇති සහ බොහෝ ක්‍රමලේඛකයින් කෙලින්ම භාවිතා නොකරන හෝ යාවත්කාලීන නොකරන ක්ෂුද්‍ර කේත සමඟ ය. ඇත්ත වශයෙන්ම, බොහෝ ක්‍රමලේඛකයින් මයික්‍රෝ කේතයට අත නොතබනවා පමණක් නොව (මයික්‍රෝ කේතයට වඩා මට්ටම් 0 ක් ඉහළයි), බොහෝ ක්‍රමලේඛකයින් යන්ත්‍ර කේත ස්පර්ශ නොකරයි (මයික්‍රෝ කේතයට වඩා 1 මට්ටම ඉහළයි), එකලස් කිරීම (මයික්‍රෝ කේතයට වඩා මට්ටම් 2 ක්) ( හැර, සමහර විට, විද්‍යාලයේ විධිමත් පුහුණුවක් සඳහා). බොහෝ ක්‍රමලේඛකයින් කාලය ගත කරන්නේ මට්ටම් 3 ක් හෝ වැඩි ගණනක් පමණි.

තවද, අපි එකලස් කිරීම දෙස බැලුවහොත් (එය සාමාන්‍යයෙන් මිනිසුන්ට ලැබෙන මට්ටමට වඩා අඩුය), එක් එක් පියවර සාමාන්‍යයෙන් පුහුණු කර ඇති පුද්ගලයින්ට තේරුම් ගත හැකි අතර එම පියවර අර්ථ නිරූපණය කිරීමට සම්පත් ඇත. මේ අර්ථයෙන් ගත් කල, එකලස් කිරීම ඉහළ මට්ටමේ භාෂාවකට වඩා සරල ය. කෙසේ වෙතත්, එකලස් කිරීම කෙතරම් සරලද යත්, සංකීර්ණ කාර්යයන් හෝ මධ්‍යස්ථ කාර්යයන් පවා කිරීම ඉතා වෙහෙසකරය. ඉහළ මට්ටමේ භාෂා අපව එයින් නිදහස් කරයි.

“ප්‍රතිලෝම ඉංජිනේරු විද්‍යාව” පිළිබඳ නීතියක දී විනිසුරුවරයෙකු ප්‍රකාශ කළේ කේතය න්‍යායාත්මකව වරකට එක් බයිටයක් හැසිරවිය හැකි වුවද නවීන වැඩසටහන් සඳහා බයිට් මිලියන ගණනක් සම්බන්ධ වන බැවින් සමහර වාර්තා (කේත පිටපත් වැනි) සෑදිය යුතු බවයි. කළ හැකි උත්සාහයක්. (එබැවින් අභ්‍යන්තර සංවර්ධනය යනු ප්‍රකාශන හිමිකම් නීතියේ සාමාන්‍යකරණය කරන ලද “පිටපත් නොකිරීම” රීතිය උල්ලං violation නය කිරීමක් ලෙස නොසැලකේ.) (මම බොහෝ විට අනවසර සීගා ජෙනසිස් කාට්රිජ් සෑදීමට සිතමින් සිටිමි, නමුත් ගේම් ජෙනී නඩුවේදී පැවසූ දෙයක් ගැන සිතමින් සිටින්නට ඇත. )

නවීකරණය:

ඔබ 286s සඳහා වූ කේතය ධාවනය කරනවාද? නැත්නම් ඔබ 64-බිට් කේතය ධාවනය කරනවාද?

ගණිතය සහස්‍ර ගණනාවක් පුරා විහිදෙන මූලධර්ම භාවිතා කරයි. පරිගණක සමඟ මිනිසුන් සාමාන්‍යයෙන් දශක දෙකකට වඩා පැරණි දෙයක් ආයෝජනය කිරීම සම්පත් නාස්ති කිරීමක් ලෙස සලකති. ඒ කියන්නේ ගණිතය වඩාත් හොඳින් පරීක්ෂා කළ හැකිය.

භාවිතා කළ මෙවලම්වල ප්‍රමිති:

සී පිරිවිතරයන්ට අනුකූලව දෝෂ රහිත සී සම්පාදකයෙකු වැනි දෙයක් නොමැති බව මට (මට වඩා විධිමත් පරිගණක ක්‍රමලේඛන පුහුණුවක් ලැබූ මිතුරෙකු විසින්) ඉගැන්වීය. මෙයට හේතුව සී භාෂාව මූලික වශයෙන් උපකල්පනය කරන්නේ තොගයක් සඳහා අනන්ත මතකය භාවිතා කිරීමේ හැකියාවයි. නිසැකවම, එවැනි කළ නොහැකි අවශ්‍යතාවයක් ස්වභාවධර්මයේ තරමක් සීමිත වූ සැබෑ යන්ත්‍ර සමඟ වැඩ කරන භාවිතා කළ හැකි සම්පාදකයින් සෑදීමට මිනිසුන් උත්සාහ කළ විට වෙනස් විය යුතුව තිබුණි.

ප්‍රායෝගිකව, වින්ඩෝස් ස්ක්‍රිප්ට් සත්කාරකයේ ජේස්ක්‍රිප්ට් සමඟ, වස්තූන් භාවිතා කරමින් හොඳ දේ කිරීමට මට හැකි වී තිබේ. (මම පරිසරයට කැමතියි නව කේතයක් අත්හදා බැලීමට අවශ්‍ය මෙවලම් කට්ටලය මයික්‍රොසොෆ්ට් වින්ඩෝස් හි නවීන සංස්කරණ තුළට ගොඩනගා ඇති නිසා.) මෙම පරිසරය භාවිතා කරන විට, සමහර විට වස්තුව ක්‍රියා කරන ආකාරය පිළිබඳ පහසුවෙන් සොයාගත හැකි ලියකියවිලි නොමැති බව මට පෙනී ගියේය. කෙසේ වෙතත්, වස්තුව භාවිතා කිරීම කොතරම් වාසිදායකද, මම කෙසේ හෝ එසේ කරමි. ඉතින් මම කරන්නෙ කේතය ලිවීම, එය හෝනට් කූඩුවක් ලෙස දෝෂ සහිත විය හැකි අතර, හොඳ ප්‍රති sand ල දැකිය හැකි මනරම් වැලිපිලි සහිත පරිසරයක එසේ කරන්න, සහ එය සමඟ අන්තර්ක්‍රියා කරන අතරතුර වස්තුවේ හැසිරීම් ගැන ඉගෙන ගන්න.

වෙනත් අවස්ථාවල දී, සමහර විට මම වස්තුවක් හැසිරෙන ආකාරය හදුනා ගැනීමෙන් පසුව පමණක්, වස්තුව (මෙහෙයුම් පද්ධතිය සමඟ බැඳී) දෝෂ සහිත බව මට පෙනී ගොස් ඇති අතර එය මයික්‍රොසොෆ්ට් හිතාමතාම තීරණය කර ඇති දන්නා කරුණක් වන අතර එය නිවැරදි නොවනු ඇත. .

එවැනි තත්වයන් තුළ, වසර 10 කට වැඩි කාලයක් තුළ “දුරස්ථ සිදුරු දෙකක් පමණක්” පිළිබඳ සුප්‍රසිද්ධ ආරක්ෂක වාර්තාවක් සහිතව, නිතිපතා (වසරකට දෙවරක්) නියමිත වේලාවට නව නිකුතුවන් නිර්මාණය කරන දක්ෂ වැඩසටහන්කරුවන් විසින් නිර්මාණය කරන ලද OpenBSD මත මම විශ්වාසය තබනවාද? (අඩු බරපතල ගැටළු සඳහා ඔවුන් සතුව දෝෂ සහිත පැච් ඇත.) නැත, කිසිසේත් නැත. මම එතරම් උසස් තත්ත්වයේ නිෂ්පාදනයක් මත විශ්වාසය තබන්නේ නැත, මන්ද මම වැඩ කරන්නේ මයික්‍රොසොෆ්ට් වින්ඩෝස් භාවිතා කරන යන්ත්‍ර සපයන පුද්ගලයින්ට සපයන ව්‍යාපාරවලට සහාය වන ව්‍යාපාරයක් සඳහා වන නිසා මගේ කේතය ක්‍රියාත්මක වීමට අවශ්‍ය වන්නේ එයයි.

ප්‍රායෝගිකත්වය / භාවිතයට අවශ්‍ය වන්නේ මිනිසුන්ට ප්‍රයෝජනවත් වන වේදිකාවල මා වැඩ කළ යුතු අතර එය ආරක්‍ෂාව සඳහා ප්‍රසිද්ධියක් උසුලන වේදිකාවකි (සහස්‍රයේ මුල් දිනවල සිටම එම සමාගමේ නිෂ්පාදන වඩා නරක අතට හැරුණු විට විශාල දියුණුවක් ලබා ඇත). .

සාරාංශය

පරිගණක ක්‍රමලේඛනය වඩාත් දෝෂ සහිත වීමට හේතු රාශියක් ඇති අතර එය පරිගණක භාවිතා කරන්නන්ගේ ප්‍රජාව විසින් පිළිගනු ලැබේ. ඇත්ත වශයෙන්ම, බොහෝ කේත ලියා ඇත්තේ දෝෂ රහිත උත්සාහයන් නොඉවසන පරිසරවල ය. (ආරක්ෂක ප්‍රොටෝකෝල සංවර්ධනය කිරීම වැනි සමහර ව්‍යතිරේකයන්ට මේ සම්බන්ධයෙන් තව ටිකක් උත්සාහයක් ලැබිය හැකිය.) ව්‍යාපාරවලට වැඩි මුදලක් ආයෝජනය කිරීමට අකමැති වීම සහ ගනුදෙනුකරුවන් සතුටු කිරීම සඳහා කෘතිම කාලසීමාවන් මග හැරීම යන පොදු සිතුවිලි වලට අමතරව, එහි බලපෑම ද ඇත ඔබ වැඩි කාලයක් ගත කරන්නේ නම්, ඔබ යල්පැනගිය වේදිකාවක් මත වැඩ කරනු ඇති බව සරලව පවසන තාක්‍ෂණයේ ගමන දශකයක් තුළ දේවල් සැලකිය යුතු ලෙස වෙනස් වන බැවිනි.

අක්‍රීයව, strlen සහ strcpy සඳහා ප්‍රභව කේත කිහිපයක් දුටු විට ඉතා ප්‍රයෝජනවත් හා ජනප්‍රිය කාර්යයන් කෙතරම් කෙටිද යන්න ගැන මා පුදුමයට පත් වූ බව මට මතකයි. නිදසුනක් ලෙස, strlen යනු "int strlen (char * x) {char y = x; අතර ( (y ++)); ආපසු (yx) -1;}" වැනි දෙයක් විය හැකිය.

කෙසේ වෙතත්, සාමාන්‍ය පරිගණක වැඩසටහන් ඊට වඩා දිගු වේ. එසේම, නවීන ක්‍රමලේඛන බොහොමයක් වෙනත් කේත භාවිතා කරනු ඇති අතර ඒවා තරයේ පරීක්‍ෂා කළ හෝ දෝෂ සහිත යැයි දන්නා විය හැකිය. වර්තමාන පද්ධති පහසුවෙන් සිතිය හැකි දේට වඩා විස්තීර්ණ ය, “කුඩා මට්ටම් හසුරුවන විස්තර” ලෙස කුඩා ප්‍රමාණයක් අතහැර දැමීම හැර.

මෙම අනිවාර්ය සංකීර්ණතාවය සහ සංකීර්ණ හා වැරදි පද්ධති සමඟ වැඩ කිරීමේ නිශ්චිත භාවය නිසා පරිගණක ක්‍රමලේඛනය බොහෝ ගණිතයට වඩා සත්‍යාපනය කිරීමට බොහෝ දෘඩාංග බවට පත් කරයි, එහිදී දේවල් බොහෝ සරල මට්ටම් කරා තල්ලු වේ.

ඔබ ගණිතයේ දේවල් බිඳ දැමූ විට, ඔබට දරුවන්ට තේරුම් ගත හැකි තනි කොටස් ලබා ගනී. බොහෝ අය ගණිතය විශ්වාස කරති; අවම වශයෙන් මූලික අංක ගණිතය (හෝ, අවම වශයෙන්, ගණන් කිරීම).

කබාය යටතේ සිදුවන්නේ කුමක්දැයි බැලීමට ඔබ සැබවින්ම පරිගණක ක්‍රමලේඛනය බිඳ දැමූ විට, ඔබ අවසන් වන්නේ බිඳුණු ප්‍රමිතීන් සහ කේතයන් බිඳී යාමෙන් අවසානයේදී ඉලෙක්ට්‍රොනික් ආකාරයෙන් ක්‍රියාත්මක වන අතර භෞතිකව ක්‍රියාත්මක කිරීම මයික්‍රෝ කේතයට වඩා එක් පියවරක් පමණි. ස්පර්ශ කිරීමට එඩිතර නැත (ඔවුන් ඒ ගැන දැනුවත් නම්).

දෝෂ රහිත කේත ලිවිය හැකිය යන මතයට තරයේ විරුද්ධ වන විද්‍යාලයේ සිටින සමහර උපාධිධාරීන් හෝ මෑත කාලීන උපාධිධාරීන් සමඟ මම කතා කර ඇත්තෙමි. ඔවුන් හැකියාව කපා හැර ඇති අතර, සමහර ආකර්ෂණීය උදාහරණ (මට පෙන්වීමට හැකි) සමහර ඒත්තු ගැන්වෙන තර්ක බව ඔවුන් පිළිගත්තද, ඔවුන් එවැනි සාම්පල නියෝජනය නොකරන දුර්ලභ නළා ලෙස සලකන අතර, ගණන් කිරීමට ඇති හැකියාව තවමත් ප්‍රතික්ෂේප කරයි. එවැනි උසස් ප්‍රමිතීන් තිබීම මත. (ගණිතයේ අප දකින වඩා විශ්වාසදායක පදනමට වඩා බොහෝ වෙනස් ආකල්පයකි.)


1
ක්‍රමලේඛනයේ සංකීර්ණත්වය සඳහා ඔබ හොඳ අවස්ථාවක් සපයන අතර, ඔබ ගණිතය කිසිසේත්ම සලකා බලන්නේ නැත! ඇත්ත වශයෙන්ම, විධිමත් ගණිතයේ ඇති සංකීර්ණතාව ඔබ අවතක්සේරු කරන බවක් පෙනේ: "ඔබ ගණිතයේ දේවල් බිඳ දැමූ විට, දරුවන්ට තේරුම් ගත හැකි තනි කොටස් වලට ඔබ පිවිසෙයි", ඇත්ත වශයෙන්ම ? ඊට අමතරව, ප්‍රමාණවත් තරම් ඉහළ මට්ටමේ වැඩසටහන්කරණය ගැනද පැවසිය හැකිය (උදා: සීරීම් ළමයින් සඳහා නිර්මාණය කර ඇත). සම්පූර්ණ සී-පිරිවිතර ක්‍රියාත්මක කළ නොහැකි වුවද, වැදගත් උප කුලකයක් සඳහා සහය දක්වන සම්පාදකයෙකු පරිගණක ආධාරයෙන් සාක්‍ෂි භාවිතා කර විධිමත් ලෙස නිවැරදි බව පෙන්වා දී ඇත.
විවික්ත කටුස්සා

එකඟ විය. පර්යේෂණ මට්ටමේ සාක්ෂි දී, ඔබ හරියටම නැහැ මට්ටම මත යමක් දකින්න2+3=5. ඒ වෙනුවට, "X මගින් පහසුවෙන් ඔප්පු කළ හැකිය" වැනි ප්‍රකාශ ඔබ සොයා ගනු ඇත, එහිදී X ඔබට ප්‍රගුණ කිරීමට වසර දෙකක් ගත විය; හෝ "Y ප්‍රමේයයේ forward ජු ඉදිරි යෙදුමකි", එහිදී Y ඔප්පු කිරීමට දශක ගණනාවක් සහ මිනිසුන් දුසිම් ගණනක් ගත විය. ඇත්ත වශයෙන්ම, ඔබට සෑම පර්යේෂණ පත්‍රිකාවක්ම ප්‍රාථමික, විධිමත් ගණිතය / තර්කනය තුළට “සම්පාදනය” කළ හැකිය - දෝෂ රාශියක් සොයා ගැනීම, මට විශ්වාසයි - නමුත් කිසිවෙකු එසේ කිරීමට කරදර වන්නේ නැත . (තවද සියලු දෙනාටම නොහැකි යහපත් බව හා හොඳින් එකඟ කිහිපයක් ජනතාව ඒ නිසා. නැහැ ගණිතය විධිමත් කිරීමට උත්සාහ කරන්න.)
රෆායෙල්

මෙටා සටහන: ඔබ එක් දෙයක ප්‍රවීණයෙක් නම් සහ තවත් දෙයක ප්‍රවීණ ආරම්භකයකු (හෝ පහළ) නම්, ඔබ දෙදෙනා සංසන්දනය කළ හැකි නරකම තත්වයේ සිටී.
රෆායෙල්

විවික්ත කටුස්සා - මෙය පරිගණක විද්‍යා එස්.ඊ. තව දුරටත්, මා පළ කිරීමට පෙර වෙනත් පිළිතුරු කියවා ඇති විට, ඔවුන් පරිගණකවලට වඩා ගණිතය ස්පර්ශ කළ බවක් මට හැඟුණි. වෙනත් තැනක ලියා ඇති දේ සමඟ බොහෝ දුරට අතිරික්ත වන වචන එකතු කිරීම පමණක් දිගු නොකිරීමෙන් මගේ පිළිතුර වඩා හොඳ යැයි මට හැඟුණි. /// සීරීමට අනුව, ඉහළ මට්ටම වඩාත් සංකීර්ණ, සරල නොවේ (සියලු චලනය වන කොටස් සම්පූර්ණයෙන් තේරුම් ගැනීමේ ඉදිරිදර්ශනය දෙස බලන විට). මෙම දෘෂ්ටිකෝණයෙන් මා ලියන පරිදි, එකලස් කිරීම අනෙක් ස්ථරවල ඇති
සීරීමට

0

ගණිතමය සාක්ෂි මගින් "කුමක්ද" දැනුම සහ වැඩසටහන් විස්තර කරන්නේ "දැනුම" කරන්නේ කෙසේද යන්නයි.

වැඩසටහන් ලිවීම වඩාත් සංකීර්ණ වන්නේ ක්‍රමලේඛකයාට ඇතිවිය හැකි විවිධ තත්වයන් පිළිබඳව තර්ක කළ යුතු නිසාත්, එහි ප්‍රති program ලයක් ලෙස වැඩසටහනේ හැසිරීම වෙනස් වන ආකාරයත් නිසා ය. වෙනත් අර්ථ දැක්වීම් පිළිබඳ කරුණු සනාථ කිරීම සඳහා සාධනය සූත්‍ර හෝ වර්ගීකරණ තර්ක භාවිතා කරයි.

බොහෝ දෝෂ ඇතිවන්නේ ක්‍රමලේඛකයා අපේක්ෂා නොකළ ප්‍රාන්තවලට ඇතුළු වන ක්‍රියාවලීන් මගිනි. වැඩසටහනක ඔබට සාමාන්‍යයෙන් දහස් ගණනක් හෝ විශාල පද්ධතියක ස්ථිතික දත්ත නොවන මිලියන ගණනක් විය හැකි විචල්‍යයන් ඇත, නමුත් ඇත්ත වශයෙන්ම වැඩසටහන ක්‍රියාත්මක වන ආකාරය පරිවර්තනය කරයි. මේ සියල්ලම එකට අන්තර්ක්‍රියා කිරීමෙන් අපේක්ෂා කළ නොහැකි හැසිරීම් නිර්මාණය වේ, විශේෂයෙන් නවීන පරිගණකයක වියුක්ත ස්ථර ඔබට යටින් වෙනස් වේ.

සාක්ෂි අනුව, වෙනස් වන තත්වයක් නොමැත. සාකච්ඡාවේ අර්ථ දැක්වීම් සහ වස්තු සවි කර ඇත. ඔප්පු කිරීම සඳහා සාමාන්‍යයෙන් ගැටලුව ගැන සිතීම සහ බොහෝ අවස්ථා සලකා බැලීම අවශ්‍ය වේ, නමුත් එම අවස්ථා නිර්වචන මගින් නිවැරදි කරනු ලැබේ.


2
'කුමක්' දැනුම විස්තර කිරීමට ගණිතමය සාක්‍ෂි වලට පූර්ණ හැකියාවක් ඇතැයි මම කියමි: උදා: පැවැත්ම සනාථ කිරීම සඳහා ආදර්ශයක් හෝ වටිනාකමක් ගණනය කිරීමේ ක්‍රමයක් සාදන ඕනෑම සාක්ෂියක් ගන්න. කෙසේ වෙතත්, කතුවරයා (හෝ පා er කයා!) විසින් පැහැදිලිව විස්තර කර ඇති රාජ්‍යයක් හැර වෙනත් රාජ්‍යයක් නොමැති බව අර්ථයෙන් ගත් කල, රාජ්‍යය සාක්ෂි නොමැති බව මම එකඟ වෙමි. පා program කයා / කතුවරයා නොදන්නා දෙයක් කිරීමට වැඩසටහනකට ඉඩ ලබා දෙන්නේ හරියටම මෙම තත්වයයි. (නිසැකවම, සාක්ෂි වලට අනපේක්ෂිත ලක්ෂණ හෝ
විවික්ත කටුස්සා

Is ඩිස්ක්‍රෙටලිසාර්ඩ් මෙය ප්‍රයෝජනවත් අදහස් දැක්වීමකි. මම හිතන්නේ "කුමක්ද" සහ "කෙසේද" අතර රේඛාව නිසැකවම නොපැහැදිලි ය. ඇල්ගොරිතමයක් සනාථ කිරීම ඔබ සිතන දේ කරයි, ඇත්ත වශයෙන්ම මගේ මනසෙහි "කෙසේද" යන්න විස්තර නොකරයි, එය ඇතැම් ගුණාංග සහතික කරයි. දාර්ශනික දෘෂ්ටි කෝණයකින්, මම සිතන්නේ "කෙසේද" දැනුමට ලෝකය සමඟ ලිපි හුවමාරුවක් අවශ්‍ය බවයි. වැඩසටහන් සෑම විටම ඔබ ඔවුන්ට පවසන දේ කරයි. ඔබට දෝෂයක් ඇති විට එය කිරීමට ඔබ පැවසූ දේ ලෝකයට අනුරූප නොවීය (ඔබ ආකෘති නිර්මාණය කරන දේ). ගණිතය, යෙදුමකින් ස්වාධීනව (භෞතික විද්‍යාත්මක ගැටළු වැනි) සියල්ලම සහජීවනය මත රඳා පවතින බව පෙනේ.
ජස්ටින් මීනර්ස්
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.