অ্যালগরিদমের উদাহরণ যা সঠিকতার প্রমাণের অভাব রয়েছে


18

আমরা Hoare যুক্তি আছে। এটি এখনও কেন সম্ভব যে একটি অ্যালগরিদম ঠিক আছে তবে কোনও প্রমাণ নেই যে এটি সঠিক? ধরুন অ্যালগরিদমটি সি তে প্রকাশিত হয়েছে তারপরে আমরা ধাপে ধাপে যুক্তি দিতে পারি যে এটি করার কথা বলে এটি করছে।

সুতরাং আমার প্রশ্নটি হ'ল:

আমাকে একটি অ্যালগরিদমের উদাহরণ দিন যা সঠিক তবে সঠিকতার প্রমাণ নেই।

সম্পাদনা: আমি মনে করি যে আমি কোথায় যাচ্ছি তা পরিষ্কার করতে একটু পটভূমি সাহায্য করতে পারে। স্কট অ্যারনসনকে উদ্ধৃত করি:

1970 -এর দশক থেকে ফটকা যে পি হয়েছে দ্বারা NP স্বাধীন হতে পারে (যেমন, তন্ন তন্ন প্রতিপাদ্য কিংবা disprovable) যেমন Zermelo-Fraenkel সেট তত্ত্ব হিসাবে গণিত, জন্য আদর্শ সবর্জনবিদিত সিস্টেম থেকে। স্পষ্ট করে বলতে গেলে, এর অর্থ হ'ল হয়

  1. এনপি-সম্পূর্ণ সমস্যার জন্য একটি বহু-কালীন অ্যালগরিদম বিদ্যমান নেই, তবে আমরা কখনই এটি প্রমাণ করতে পারি না (কমপক্ষে আমাদের সাধারণ আনুষ্ঠানিক সিস্টেমে নয়), অন্যথায়

  2. দ্বারা NP-সম্পূর্ণ সমস্যার জন্য একটি বহুপদী সময় এলগরিদম আছে বিদ্যমান, কিন্তু হয় আমরা প্রমাণ না করতে পারে এটি কাজ করে, অথবা আমরা প্রমাণ না করতে পারেন এটি বহুপদী সময় বন্ধ হয়ে যাবে।

আমি দ্বিতীয় সম্ভাবনা উল্লেখ করছি। যেহেতু অ্যারনসন এতো আত্মবিশ্বাসের সাথে এটিকে সম্ভাবনা হিসাবে তালিকাবদ্ধ করতে পারেন, তাই আমি মনে করি যে টাইপ ২ এর একটি বিদ্যমান উদাহরণ থাকতে হবে That's এজন্যই আমি এই প্রশ্নটি জিজ্ঞাসা করছি। তবে মনে হচ্ছে একটি দ্রুত এবং স্পষ্ট উত্তরটি দৃষ্টিতে নেই।


17
যদি আমাদের কাছে সঠিকতার প্রমাণ না থাকে তবে একটি অ্যালগরিদমটি সঠিক হওয়ার অর্থ কী?
ডেভিড রিচার্বি

14
আপনার অর্থ "সঠিকতার প্রমাণ অসম্ভব" বা "কেউ এটি সঠিক হিসাবে প্রমাণিত হয়নি"?
gnasher729 11

12
অ্যালগরিদমগুলি সঠিক হতে হবে না ... ধরুন আপনার কাছে এটি রয়েছে: (1) সকালে একটি খালি বালতিটি উইন্ডোজিলের উপরে রাখুন। (২) সন্ধ্যায় নামাও। (3) বালতি জল জলের পরিমাণ পরিমাপ। (4) পরের দিন সকালে পুনরাবৃত্তি। এটি একটি অ্যালগরিদমের বর্ণনা, তবে এটি এমন কোনও কিছুই বর্ণনা করে না যা প্রসারিত ছাড়াই, "সঠিক" বলে। মজার বিষয় হল, বিশ্বের বেশিরভাগ প্রোগ্রামিং কোডটি এই বিশেষভাবে লেখা হয়: এটি ঠিক কী করে তা সঠিকভাবে উদ্বিগ্ন নয়।
wvxvw

@wvxvw আমি তখনই বিভ্রান্ত হয়েছি, তখন অ্যালগরিদমটির "সঠিক" হওয়া মানে কী? যদি এটি যা করার উদ্দেশ্যে করা হয়েছিল তা করে, তার মানে কি এটি সঠিক নয়? যদি আপনার দৃশ্যের লক্ষ্যটি ছিল যে প্রতিদিনের জন্য বৃষ্টির সময় বালতিতে গড়ে নেওয়া জলের পরিমাণ খুঁজে পাওয়া যায়, তবে সেই ক্ষেত্রে কি অ্যালগরিদম সঠিক হবে না?
আব্দুল

8
@ যে আপনি বুঝতে পারছেন না ... এটি এমন নয় যে প্রোগ্রামাররা তাদের কোডের সঠিকতার জন্য চিন্তা করে না, এটি কিছু অ্যালগরিদমের জন্য "সঠিকতা" ধারণাটি প্রযোজ্য নয়। কিছু। নেট উইন্ডোজ ফোরাম অ্যাপ্লিকেশন নিন, যা এর প্রসঙ্গে কিছু বলে: "এই বোতামটি এই লেবেলটির সাথে এই অবস্থানে রাখুন, তারপরে এই অন্য বোতামটি এই অন্য অবস্থানে রাখুন এবং এইভাবে ..." - এটির কিছু ব্যাখ্যা থাকতে পারে প্রোগ্রামটি করে, যার অধীনে এটি যা করে তা (হিসাবে) সঠিক হিসাবে বিচার করা যেতে পারে (উদাহরণস্বরূপ গ্রাফিক ডিজাইনার বলেছেন এটি "কুরুচিপূর্ণ দেখাচ্ছে"), তবে এটি যতদূর যায়।
wvxvw

উত্তর:


50

পরিচয় ফাংশনের জন্য এখানে একটি অ্যালগরিদম রয়েছে:

  • ইনপুট: n
  • চেক ম বাইনারি স্ট্রিং এর একটি প্রমাণ এনকোড 0 > 1 ZFC, এবং যদি তাই হয়, আউটপুট এন + + 1n0>1এন+ +1
  • অন্যথায়, আউটপুট এন

বেশিরভাগ লোক সন্দেহ করে যে এই অ্যালগরিদম পরিচয় ফাংশনটি গণনা করে তবে আমরা জানি না এবং আমরা গণিত, জেডএফসির জন্য সাধারণভাবে গৃহীত কাঠামোর মধ্যে এটি প্রমাণ করতে পারি না ।


2
আপনি কি নিশ্চিত চেক ম বাইনারি স্ট্রিং এর একটি প্রমাণ এনকোড 0 > 1 ZFC মধ্যেএন0>1 একটি আলগোরিদিম হয়?
দিমিত্রি গ্রিগরিয়েভ

23
না, তবে চেকটি অবশ্যই অ্যালগোরিদমিকভাবে প্রয়োগ করা যেতে পারে (অর্থাত্, একটি ট্যুরিং মেশিন দ্বারা)। প্রকৃতপক্ষে প্রুফ সিস্টেমগুলির জন্য এটি আমাদের প্রয়োজনীয়তাগুলির মধ্যে একটি - সেই প্রমাণের বৈধতাটি অ্যালগোরিদমিকভাবে চেকযোগ্য।
ইয়ুভাল ফিল্মাস

6
@ পপি জেডএফসি প্রমাণ করে । তবে এটি ( > ) বেমানান থাকলে 0 > 1 টিও প্রমাণ করতে পারে । প্রায় প্রত্যেকেই বিশ্বাস করে যে জেডএফসি অবশ্যই অবশ্যই ধারাবাহিক, তবে অসম্পূর্ণতা উপপাদ্যের কারণে আমরা এটি নিশ্চিতভাবে জানতে পারি না। ¬(0>1)0>1
চি

1
@ নাথানিয়েল মোটেও না উদাহরণস্বরূপ, আপনি সহজেই প্রতিটি পাঠ্যপুস্তক অ্যালগরিদমের যথার্থতা প্রমাণ করতে পারেন। এই অ্যালগরিদম এর থেকে পৃথক যে এটি জেডএফসির সামঞ্জস্যের উপর নির্ভর করে যা জেডএফসি নিজেই প্রমাণ করতে পারে না।
যুবাল ফিল্মস

1
@ নাথানিয়েল: আপনি যদি চান তবে আমাদের এই আলোচনাটি আড্ডায় চলতে দিন ।
ব্যবহারকারী 21820

9

বেশিরভাগ অ্যালগরিদমগুলি হোয়ের যুক্তিতে সঠিক প্রমাণিত হয়নি। মূল কারণটি হ'ল এই জাতীয় নির্ভুলতার প্রমাণগুলি ২০১ Jan সালের জানুয়ারি পর্যন্ত অত্যন্ত ব্যয়বহুল, সম্ভবত 'নিছক' প্রোগ্রামিংয়ের সাথে তুলনা করে বিশালতার কয়েকটি আদেশ দ্বারা। অটোমেশন দ্বারা এই ব্যয় হ্রাস করতে প্রচুর চলমান কাজ রয়েছে তবে এটি একটি উত্সাহী সংগ্রাম।

অ্যালগরিদমের যথাযথতার প্রমাণ না থাকার আরেকটি কারণ এবং যুভাল এবং চি যে অসম্পূর্ণ ঘটনার উল্লেখ থেকে বাস্তবে আরও প্রাসঙ্গিক তা হ'ল আমরা এই স্পেসিফিকেশনটি কী তা জানি না। এই সমস্যাটির দুটি মাত্রা রয়েছে।

  • গ্রাহকরা জানেন না তারা কী চান। এটি সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ের একটি সুপরিচিত সমস্যা এবং এটি মোকাবেলায় সফ্টওয়্যার প্রকৌশলীরা অনেকগুলি পদ্ধতির বিকাশ করেছেন।

  • স্পেসিফিকেশন কঠিন। একটি ভাল উদাহরণ হ'ল ক্রিপ্টোগ্রাফিক অ্যালগরিদমের নির্ভুলতা। ক্রিপ্টোগ্রাফিক সুরক্ষা মানে কী তা নির্দিষ্ট করে দেওয়ার জন্য সম্প্রতি সম্প্রতি মিকালি ও গোল্ডওয়াসার টুরিং পুরষ্কার জিতেছেন । উল্লেখ্য তবে যে যে ডেফিনেশনে (যতদূর আমি সচেতন আছি) "তাত্ত্বিক ক্রিপ্টোগ্রাফি" আপনি একটি নিরাপত্তা প্যারামিটার আছে যেখানে জন্য nপ্রাকৃতিক সংখ্যার উপর নির্ভর করে এবং শত্রুরা হ'ল বহুবর্ষের সময় সম্ভাব্য টুরিং মেশিন। আমার জ্ঞানের সর্বাধিক জ্ঞানের কাছে (দয়া করে আমি ভুল হলে আমাকে সংশোধন করুন) তত্ত্ব এবং অনুশীলনের মধ্যে একটি অমিল আছে, এবং এএস এবং SHA256 এর মতো কংক্রিট অ্যালগরিদমগুলি those তাত্ত্বিক স্পেসিফিকেশনের পরিধির মধ্যে নেই। আমি মনে করি না যে এই জাতীয় অ্যালগরিদমগুলির জন্য সম্পূর্ণ স্পেসিফিকেশন রয়েছে, সুতরাং আমরা নীতিগতভাবে এগুলিকে উদ্বোধন করতে পারি না উদাহরণস্বরূপ Hoare যুক্তি দিয়ে।


এইএস হ'ল ক্রিপ্টোগ্রাফিক সুরক্ষার সংজ্ঞাগুলির আওতাধীন। (অ্যাসিম্পোটোটিক সংজ্ঞাগুলির পরিবর্তে আপনার কংক্রিট সুরক্ষা সংজ্ঞা ব্যবহার করা দরকার, তবে আপনি যদি
ডিডাব্লু

@DW আকর্ষণীয় আমি এই সম্পর্কে সচেতন ছিল না। তাত্ত্বিক ক্রিপ্টোগ্রাফির অ্যাসিপটোটিক প্রকৃতিটি কীভাবে পরিবেষ্টিত হয়? আপনি কি দয়া করে আমাকে এই সম্পর্কে একটি কাগজের দিকে নির্দেশ করতে পারেন? কংক্রিট ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন সম্পর্কে কি?
মার্টিন বার্গার

en.wikedia.org/wiki/Concrete_ সুরক্ষা এবং সেখানে তালিকাভুক্ত রেফারেন্স। হ্যাশ ফাংশনগুলি একটি আরও জটিল কেস, কারণ এটি আপনি কী ব্যবহার করেন তার উপর নির্ভর করে - তবে জটিলতাগুলি মূলত অ্যাসিম্পটোটিক সুরক্ষা বনাম কংক্রিট সুরক্ষার জন্য অরথোগোনাল।
ডিডাব্লিউ

2
এনক্রিপশনের জন্য আপনার দুটি অ্যালগরিদম প্রয়োজন: একটি যা এনক্রিপ্ট করে, একটি যা ডিক্রিপ্ট হয়। এর মধ্যে একটি তার নিজের থেকে সঠিক হতে পারে না। এগুলি কেবল একটি জোড়ায় সঠিক হতে পারে (আপনি প্রমাণ করেছেন যে কোনও এনক্রিপ্ট হওয়া ইনপুট ডিক্রিপ্ট করা আসলটি উত্পন্ন করে)। তবে এনক্রিপশনের জন্য, আপনি এটিকে অবরুদ্ধ করতে চান এবং এটি এমন একটি বিষয় যা আপনি "যথার্থতা" দিয়ে ধরতে পারবেন না।
gnasher729

1
@ ডিডাব্লু আমাকে কিছুটা দ্বিমত করতে হবে। যদিও রোগওয়ে এবং বেলারার দ্বারা প্রাপ্ত কাগজপত্রগুলি দুর্দান্ত বোঝায় যে তারা কোনওভাবেই আদিমদের সুরক্ষা প্রমাণের জন্য অনুমতি দেয় বিভ্রান্তিকর। উভয় কাগজই মূলত প্রোটোকল সম্পর্কে (যেমন তারা ধরে নেয় আধ্যাত্মিক যেমন যেমন এইএস, এসএএএ, আরএসএ ইত্যাদি) সুরক্ষিত এবং তারপরে সেখান থেকে জিনিস প্রমাণিত হয়। আদিমদের নিজেদেরকে নিরাপদ প্রমাণ করার অপরিহার্য সমস্যা। সুরক্ষিত আদিমতার প্রমাণের জন্য আপনার কাছে যদি কোনও উল্লেখ থাকে তবে আমি আগ্রহী। উদাহরণস্বরূপ দ্বিতীয় গবেষণাপত্রটি ধরে নিয়েছে যে আরএসএ কঠোর যা খুব খোলামেলা সমস্যা।
ডিআরএফ

5

এটি অন্তর্নিহিত যুক্তির অসম্পূর্ণতার সাথে আবদ্ধ। প্রকৃতপক্ষে, Hoare যুক্তিতে সাধারণত দুর্বল বা "প্রাক-পোস্ট" বিধি যেখানে অন্তর্নিহিতপি

PP{P}c{Q}QQ{P}c{Q}
প্রয়োজন একটি অন্তর্নিহিত যুক্তি, সাধারণত প্রথম অর্ডার লজিক (Fol) Zermelo-Fraenkel (ZF) মত কিছু সেট-তত্ত্বীয় স্বত: সিদ্ধ সত্যতার সাথে প্রমাণিত হবে।PP,QQ

জটিল অংশটি হ'ল আমরা জানি যে এ জাতীয় যুক্তি অসম্পূর্ণ, প্রায় এক শতাব্দী আগে গডেল প্রমাণ করেছিলেন। আরও দৃ concrete়ভাবে, প্রাকৃতিক সংখ্যার উপর একটি ভবিষ্যদ্বাণী রয়েছে যার জন্য আমরা যুক্তির পি ( 0 ) , পি ( 1 ) , পি ( 2 ) এর ভিতরে প্রমাণ করতে পারি যে কোনও প্রাকৃতিক ধ্রুবকের জন্য, তবে কোনও উপায় নেই প্রমাণ করার এন এনপি ( এন )P(n)P(0)P(1)P(2)nN. P(n)

কম্পিউটার বিজ্ঞানের দিক থেকে, এই অদ্ভুত আচরণটি কম্পিউটিবেটি তত্ত্ব ব্যবহার করে উদাহরণ দেওয়া যেতে পারে। ধরুন , খালি টেপ চালানোর সময় কোনও টিউরিং মেশিন n পদক্ষেপে থামবে না ( পি ( এন ) )। তারপরে, জেডএফ-এ আমরা প্রমাণের ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকা পাতলা প্রহরী, জেএফএফ এ আমরা প্রমাণের কার্যকরভাবে ধাপে-ধাপে ফাঁসির মাধ্যমে এ জাতীয় সত্যটি প্রমাণ করতে পারি। যাইহোক, যখন এম অপসারী, আমরা ZF মধ্যে বিকিরণ প্রমাণ করতে হতে আশা করি পারবেন না ( এন পি ( এন ) )। প্রকৃতপক্ষে, যদি সমস্ত প্রদত্ত এম এর পক্ষে এটি সম্ভব হত , তবে আমরা n এর জন্য সমস্ত সম্ভাব্য প্রমাণগুলি গণনা করে বিবিধ অর্ধ-সিদ্ধান্ত নিতে পারতাম পিMnP(n)Mn. P(n)M , এবং যখন একটি পাওয়া যায় তখন থামছে। যেহেতু আমরা জানি যে ডাইভারজেন্স আরই নয়, এটি অসম্ভব।n. P(n)


5

সমস্যা: প্রতিটি সমান সংখ্যায় 4 two 4 দুটি প্রধান সংখ্যার যোগফল হলে "হ্যাঁ" মুদ্রণ করুন, এবং যদি কোনও সমান সংখ্যা ≥ 4 থাকে তবে দুটি প্রধানের যোগফল নয় "

অ্যালগরিদম: "হ্যাঁ" মুদ্রণ করুন

বেশিরভাগ লোক মনে করেন যে অ্যালগরিদমটি সঠিক। কোন পরিচিত প্রমাণ, এবং এটা যে খুবই সম্ভব হয় কোন দলীল।


3

যে কোনও অ্যালগরিদম সঠিক তবে এটি আমরা জানি না যে এটি চালাতে কতক্ষণ সময় নেয় তা একটি অ্যালগরিদমে রূপান্তরিত হতে পারে যা একটি গ্যারান্টিযুক্ত সময়ের মধ্যে থেমে যায় তবে আমরা নিশ্চিত নই যে এটি সঠিক কিনা।

nn+10log(n)20n

P=NP

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.