এনএফএকে নন-ডিটারমিনিস্টিক কেন বলা হয়?


14

আমি মনে [এই ধরণের মজার] প্রশ্ন আছে। আমরা ইনপুটগুলির জন্য ট্রানজিশনগুলি সংজ্ঞায়িত করার সময় নন- ডিস্ট্রিমেন্টিক সসীম অটোমেটনকে নন- ডেট্রিমিনিস্টিক কেন বলা হয় ? ভাল, যদিও একাধিক এবং অ্যাপসিলন ট্রানজিশন রয়েছে, সেগুলি সংজ্ঞায়িত করা হয়েছে যার অর্থ মেশিনটি সেই রূপান্তরগুলির জন্য নির্ধারক। যার অর্থ এটি নির্বিচারবাদী।


12
তাত্ত্বিক কম্পিউটার বিজ্ঞানে ব্যবহৃত ননডেটেরিস্টেমিক এলোমেলো থেকে আলাদা।
অ্যাড্রিয়ানএন

10
এটি হ'ল ট্রানজিশনের মধ্যবর্তী পছন্দ যা অবিচ্ছিন্ন is
পুনরায় পোস্টার

এনএফএ কী? (আমাদের মধ্যে
অশিক্ষিতদের জন্য

@ ডারসি থমাস, আমার প্রথম পরিচয় ছিল swtch.com/~rsc/regexp/regexp1.html । এটি একটি ভাল পঠন N এনএফএগুলি প্রবর্তন করা নিবন্ধটির উদ্দেশ্য নয় , তবে নিয়মিত প্রকাশের আলোচনায় এটি করা ভাল কাজ করে।
ওয়াইল্ডকার্ড

উত্তর:


23

"নির্ধারক" এর অর্থ "আপনি যদি সিস্টেমটিকে একই পরিস্থিতিতে দুইবার রাখেন তবে উভয়বার একই পছন্দ করার গ্যারান্টিযুক্ত"।

"নন-ডিস্ট্রিমেন্টিক" এর অর্থ হ'ল ডিটারমিনিস্টিক নয় "বা অন্য কথায়," আপনি যদি সিস্টেমটিকে একই পরিস্থিতিতে দু'বার রাখেন তবে এটি উভয় বার একই পছন্দ করতে পারে বা নাও পারে "।

একটি অ-নিয়ন্ত্রনমূলক সসীম অটোমেটনের (এনএফএ) কোনও রাষ্ট্রের বাইরে একাধিক ট্রানজিশন থাকতে পারে। এর অর্থ এটি সেই পরিস্থিতিতে কী করতে পারে তার একাধিক বিকল্প রয়েছে। সর্বদা একইটিকে বেছে নিতে বাধ্য করা হয় না; একটি ইনপুটতে, এটি প্রথম রূপান্তর চয়ন করতে পারে এবং অন্য ইনপুটটিতে এটি একই রূপান্তর চয়ন করতে পারে।

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


"এটি কোনটি গ্রহণ করবে তা নির্বিচারে চয়ন করতে পারে।" সুতরাং এটি মূলত একটি সম্ভাব্য প্রকৃতি আছে?
ট্রেলারিয়ন

@ ট্রিলারিয়ন, না, এটি নির্ভর করে যে এটি রাষ্ট্রকে মেনে নেবে কিনা leads প্রকৃতপক্ষে সম্ভাব্য এফএ হ'ল এনএফএর একটি সাধারণীকরণ।
rus9384

"নন-ডিস্ট্রিমেন্টিক" এর অর্থ হ'ল ডিটারমিনিস্টিক নয় ", বা অন্য কথায়," আপনি যদি সিস্টেমটিকে একই পরিস্থিতিতে দু'বার রাখেন তবে এটি উভয় বার একই পছন্দ করতে পারে বা নাও পারে "। এর মাধ্যমে আপনি কী বোঝাতে চেয়েছেন যে মেশিন দুটি ভিন্ন ক্ষেত্রে একই স্ট্রিং গ্রহণ এবং প্রত্যাখ্যান করতে পারে।
মধুসূদন পি

3
@ মধুসূদন পি এখানে আপনার লেখাটি যা লিখেছিল তা থেকে সঠিক এবং এটি আমাদের এই উত্তরটি থেকে কী অনুপস্থিত তা নিয়ে যায়: এনএফএগুলি বিশ্লেষণ করার সময় আমরা সর্বদা সম্ভাব্য সকল মৃত্যুদন্ডের পথ বিবেচনা করি । যতক্ষণ না সেই মেশিনের কোনও পথ কোনও গ্রহণযোগ্য রাষ্ট্রের দিকে নিয়ে যায়, আমরা ইনপুটটিকে স্বীকৃত হিসাবে বিবেচনা করি। সুতরাং এটি মোটেও সম্ভাবনার বিষয়ে নয়, এটি গ্রহণযোগ্য রাষ্ট্রের কাছে পৌঁছানো যায় কিনা তা কেবল সহজ। এনএফএগুলি কীভাবে ডিএফএগুলিতে হ্রাস করা হয় সে সম্পর্কে চিন্তাভাবনা করার সময় এই স্বীকৃতিটি আরও স্পষ্ট হয়ে ওঠে: আমাদের এনএফএর সমস্ত সম্ভাব্য মৃত্যুদণ্ড কার্যকর করতে হবে, যা নির্মাণে ঘাটতিজনিত ধাক্কা বাড়ে।
কমিকসান্সএমএস

3
এটিকে ভিজ্যুয়ালাইজ করার একটি উপায় ধরে নেওয়া যায় যে, যেখানে একাধিক ট্রানজিশন বেছে নেওয়া যেতে পারে, এনএফএ সমস্ত ট্রানজিশন নেয় । আপনি ইনপুট স্ট্রিং দ্বারা পৌঁছে যাওয়া সমস্ত রাজ্যের গাছের মতো কাঠামো তৈরি করেন এবং কোনও শাখা যদি কোনও গ্রহণযোগ্যতার স্থানে শেষ হয় তবে স্ট্রিংটি গ্রহণ করা হয়। অন্য কথায়, একটি DFA তে সঙ্গে, আপনি জিজ্ঞাসা করা হয় "হয় রাষ্ট্র আমার ইনপুট দ্বারা পৌঁছে একটি রাষ্ট্র? স্বীকার করি", একটি NFA সঙ্গে যেহেতু, আপনি জিজ্ঞাসা করা হয় "হয় যে কোনো অবস্থায় যে আমার ইনপুট দ্বারা পৌঁছে যেতে পারে একটি রাষ্ট্র গ্রহণ?"।
হ্যারিসন পেন

9

উদাহরণস্বরূপ এই অটোমেটনটি ধরুন, এটি একটি এনএফএ এবং এটি স্ট্রিং গ্রহণ করে । আরও পেডেন্টিক হওয়ার জন্য, এটি স্ট্রিংগুলি গ্রহণ করে যা 10 এ শেষ হয় ।011010

অটোমেটনের উদাহরণ, উত্স: /cs/61159/ কি-is-tif-- সংজ্ঞা

এটি দেখার জন্য আমাদের কেবল এটি পরীক্ষা করে নেওয়া দরকার যে এটি কোনও গ্রহণযোগ্য অবস্থায় পৌঁছেছে কিনা।

q01q00q11q20

এখন লাল রেখায় আরেকটি সম্ভাবনা ছিল, তা হল দ্বিতীয় পড়ার সময় আমি Q 0 তে থাকতে পারি এবং তারপরে শেষ 0 পড়ার সময় Q 0 এ থাকতে পারি । অটোম্যাটার কোনও স্মৃতি নেই, সুতরাং কোনও রাষ্ট্রকে 'সংরক্ষণ' করার উপায় নেই এবং পরে আমার স্ট্রিং 10 দিয়ে শেষ হয় কিনা তা পরে পরীক্ষা করে দেখুন , এটি এনএফএ এর মতো এটি একটি অনুমান করছে যে কোনও স্ট্রিংটি গ্রহণযোগ্য অবস্থায় শাখার আগে 10 দিয়ে শেষ হয় কিনা । এখানে ননডেটার্মিনিজম প্রচুর পছন্দ করে এবং সর্বদা সঠিক করে তোলে।1q0q001010

ডিএফএ তৈরির চেয়ে এনএফএ তৈরি করা সহজ, ভাল জিনিসটি উভয়ই সমান


হ্যাঁ আমি এনএফএ-র তত্ত্বের অংশটি জানি। তবে আমি যা জিজ্ঞাসা করছিলাম তা যদিও একটি একক ইনপুট অক্ষরের জন্য একাধিক ট্রানজিশন রয়েছে, মেশিনটি সমস্ত রাজ্যে কী পৌঁছতে পারে তা সম্পর্কে নির্বিচারক (থ্রেড তৈরি করে বলুন)। সুতরাং এটি আক্ষরিকভাবে ডিএফএ। [বা আপনি কি মনে করেন যে আমি নির্ধারণবাদের অর্থের ভুল ব্যাখ্যা করছি ]
মধুসূদন পি

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

ε

1
@ আরিস্তু আপনি যদি আপনার পছন্দের প্রোগ্রামিং ভাষায় এনএফএ প্রয়োগ করছেন তবে থ্রেডগুলি একটি ভয়ঙ্কর পছন্দ। পরিবর্তে, আপনাকে কেবলমাত্র রাষ্ট্রগুলির সেটের উপর নজর রাখতে হবে যে ইনপুট প্রতিটি অক্ষর পড়ার পরে অটোমেটন "ইন" থাকতে পারে। ফলাফলযুক্ত কোডটি ডিএফএগুলির প্রয়োগ হিসাবে প্রায় দ্রুত হবে।
ডেভিড রিচার্বি

1
ϵ

5

একটি এনএফএ-র স্থানান্তর ফাংশন সময়ে যে কোনও সময়ে অনুমোদিত ট্রানজিশনগুলি নির্দিষ্ট করে। একাধিক বিকল্প থাকতে পারে, এবং এনএফএ অবশেষে একটি গ্রহণযোগ্য অবস্থানে পৌঁছানোর লক্ষ্য নিয়ে একটি নির্বিঘ্ন পরিবর্তন বেছে নেয় ।

ননডেস্ট্রিমেন্টিক টিউরিং মেশিন সম্পর্কে শিখার আগে পর্যন্ত আপনার অপেক্ষা করা উচিত। ননডেটেরিনিজম অর্থ উভয় ক্ষেত্রে একই জিনিস।


আপনি দয়া করে হাইড করতে পারেন যে "একটি ট্রানজিশন অবিচ্ছিন্নভাবে"। এবং দয়া করে আমার উত্তরটি পর্যালোচনা করুন
মধুসূদন পি

আমি মনে করি আমাদের উত্তর দুটিই খুব ভাল নয়, যদিও আপনার অন্তর্দৃষ্টিটি দৃ is়।
যুবাল ফিল্মাস

3

একটি সসীম অটোম্যাটন দিয়ে শুরু করুন। এটিতে রাজ্য এবং গ্রহণযোগ্যতা রাষ্ট্র এবং রূপান্তর রয়েছে।

এখন, এটিকে প্রতিটি রাজ্যের একাধিক ট্রসিশন নিয়ম দিন এবং বলুন যে এটি গ্রহণ করে যদি কোনও ইনপুট স্ট্রিং দেওয়া স্বীকৃতি রাষ্ট্রের দিকে নিয়ে যায় তার পরে বাছাই করা ট্রানজিশন বিধিগুলির একটি সেট উপস্থিত থাকে

একবার আপনার ইনপুট স্ট্রিং হয়ে গেলে, সেখানে কংক্রিটের স্থানান্তরের একটি নির্দিষ্ট সেট থাকে এবং বলা হয় যে স্ট্রিংটি গ্রহণ করার জন্য এটি (একবারে একবারে) যায়। তবে এটি যে রূপান্তরগুলি গ্রহণ করে তা কেবল স্ট্রিংয়ের শেষে বেছে নেওয়া হয় । স্ট্রিংটি পড়ার সময়, কোন পথে যাবেন তা নির্ধারণ করা হয়নি।

এটি অ-সংঘবদ্ধ আপনি পুরো সমস্যাটি দেওয়ার পরে এটি গ্রাফটি দিয়ে তার পথ বেছে নেবে, নাহলে এটি ইনপুটটি পড়বে।


এখন, আমরা এই চিন্তার পরীক্ষার চেয়ে এটি আলাদাভাবে আনুষ্ঠানিক করি, তবে এটি কেন এটি নাম পেয়েছে তা আপনাকে অনুপ্রেরণা দেয়।

এটি ব্যাখ্যা করে যে এটি কীভাবে নামটি প্রথম স্থানে পেল। হ্যাঁ, আপনি সম্পূর্ণ নিরোধক উপায়ে এনডিএফএ মডেল করতে পারেন, তবে নামগুলি আঠালো । আপনি যখন কোনও কিছুকে বব বলেছিলেন, তখন এটির নামকরণের জন্য একটি যোগাযোগ ব্যয় করতে হবে কারণ আপনি যখন অ্যালিস ডাকবেন তখন কেউ কী জানেনা knows


হ্যাঁ! আমি এনএফএ সম্পর্কে আপনার ব্যাখ্যা সাথে একমত। তবে আমার প্রশ্ন এটি কেন অ-নিরপেক্ষবাদী, যদিও রাজ্যের সেটগুলি একটি ইনপুট জন্য সংজ্ঞায়িত করা হয়
মধুসূদন পি

@ মধুসূদন পি এটি কীভাবে উদ্ভাবিত / কল্পনা করা হয়েছিল তার কারণেই এটি অ- নিষেধাত্মক বলা হয় । নামগুলি চটজলদি, এমনকি আমরা মাল্টিপ্পকে মডেল করার সম্পূর্ণরূপে নির্বিচারক উপায়গুলি সংজ্ঞায়িত করার পরেও।
ইয়াক্ক

1

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


এটি কিছুটা জটিল, যেহেতু অ-নির্ধারিততাও একটি নির্দিষ্ট স্বীকৃতির শর্ত।
যুবাল ফিল্মাস

1

এনএফএ এবং ডিএফএ উভয়ই নির্দিষ্ট স্ট্রিং সনাক্ত করতে ব্যবহৃত হয়।

অ-নিরঙ্কুশাত্মক সসীম অটোমেটনের যেমন তার সিদ্ধান্তগুলিতে প্রভাব পড়ে works এটি কোনও পথ অনুসরণ করতে "চয়ন করতে" পারে বা না পারে works

NFA example

উপরের চিত্রটিতে, যখন আমরা "00111" স্ট্রিংয়ের সাথে কাজ করছি, লক্ষ্য করুন যে প্রথম "1" এর মুখোমুখি হওয়ার সময় অনুসরণ করার দুটি উপায় রয়েছে। যে কেউ "পি" এ থাকতে পারে বা "কিউ" এ যেতে পারে। যদি অটোমেটা "q" এ চলে যায় তবে এটি স্ট্রিং গ্রহণ করবে না (যেহেতু "q" থেকে কোন প্রান্ত বের হচ্ছে না)। তবে স্ট্রিংটি এই অটোমেটা দ্বারা কেবল সর্বশেষ 1 টি দিয়ে "কি" তে গিয়ে গ্রহণযোগ্য হবে, অন্য কিছুর জন্য "পি" এ থাকাকালীন (এবং এটিই হচ্ছে)।

এনএফএ এটিকে দেখতে অটোম্যাটার মতো দেখায় যা সামনে রয়েছে "জানত" এবং সেই অনুযায়ী চয়ন করে।

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

সেখানে এলোমেলো কিছু নেই। অ-নিরপেক্ষ অংশটি এই বিষয়ে জোর দেয় যে "কিছু পছন্দ" নেওয়া দরকার, তবে সত্যটি অটোমেটা কোনও সিদ্ধান্ত নেয় না।


0

ঠিক আছে এখানে [পিটার লিনজ 4 ই লিখে ফর্মাল ল্যাঙ্গুয়েজস এবং অটোমেটার পরিচিতি] এবং আমার বোঝার থেকে কিছু সামগ্রীর মিশ্রণ।

একটি গেম-প্লেয়িং প্রোগ্রাম বিবেচনা করুন যেখানে মেশিনটিকে পরবর্তী পদক্ষেপের জন্য সিদ্ধান্ত নিতে হবে [টিক-ট্যাক-টো বলুন]। যেহেতু একাধিক পদক্ষেপের সম্ভাবনা রয়েছে, তাই আমরা নির্ধারিতভাবে প্রতিটি পদক্ষেপ বেছে নিই এবং চলনটির মূল্যায়ন করি এবং সেরাটির জন্য নির্বাচন করি। যদিও বাছাই প্রক্রিয়াটি নির্বিচারবাদী এবং অনেকগুলি সম্ভাব্য পদক্ষেপ ছিল, তবুও চূড়ান্ত পদক্ষেপটি ছিল একক এবং প্রতিপক্ষের কাছ থেকে সমস্ত চেষ্টা করা মুভ-গণনাগুলি লুকিয়ে রেখে সেরা পদক্ষেপ হিসাবে বেছে নেওয়া হয়েছিল। [এখানে আমরা ধরে নিই যে প্রতিটি সম্ভাব্য পদক্ষেপের মূল্যায়ন প্রক্রিয়া প্রতিপক্ষের কাছ থেকে লুকানো ছিল]।

অতএব কেবলমাত্র একটি পছন্দ করা হয়েছিল এবং প্রতিপক্ষকে এমন একটি মায়া দেওয়া হয়েছিল যে পদক্ষেপটি অ-সংঘবদ্ধ ছিল।

ঠিক আছে যদি আপনি এই জিজ্ঞাসা করে এখনও নিশ্চিত না হন যে সেরা পদক্ষেপটি কিছু নির্বিচার গণনার উত্পাদক ছিল তবে আপনাকে অবশ্যই মেশিনটি বিবেচনা করতে হবে যা নিখুঁতভাবে এলোমেলো পদক্ষেপ করে তোলে (মেশিন হারাতে পারে তবে এটি একটি এনএফএ)।


1
এটি রাখার আরেকটি উপায়: প্রতিপক্ষের কাছে আপনার পছন্দটি ছিল নির্বিচারবাদী। প্রতিপক্ষের দৃষ্টিভঙ্গি থেকে সিস্টেমটি মডেলিংয়ের সময়, আপনার পদক্ষেপটি একটি অ-নিরপেক্ষবাদী পছন্দ, যদি না প্রতিপক্ষ তার পিছনে নির্ধারিত প্রক্রিয়াটি না বের করে।
পুনরায় পোস্টার

@ রিনিয়ারপোস্ট ঠিক কী বলতে চেয়েছি
মধুসূদন পি

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

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