বিমূর্ত মেশিন এবং কম্পিউটার শৃঙ্খলাগুলির মধ্যে ব্যবধানটি পূরণ করছেন? [বন্ধ]


11

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


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

2
@ এ্যামনে মনে হয় আপনি ইতিমধ্যে বেশিরভাগ উত্তর লিখেছেন, কেন এটি একটি মন্তব্যে "নষ্ট হতে দিন"?

অন্যরা যেমন উল্লেখ করেছে, "কম্পিউটার" এর জন্য বেশ কয়েকটি গাণিতিক মডেল রয়েছে: কিছু ভাষার কাছাকাছি (আংশিক পুনরাবৃত্তি ফাংশন, ল্যাম্বডা ক্যালকুলাস), কিছু হার্ডওয়ারের কাছাকাছি। আপনি যদি চান, আপনার র‌্যাম মেশিনগুলি দেখতে হবে ( উইকিপিডিয়া লিঙ্ক ): এগুলি ট্যুরিং মেশিনের চেয়ে সত্যিকারের হার্ডওয়্যারের কাছাকাছি।
লরেঞ্জো ডিম্যাটé

উত্তর:


23

ট্যুরিং মেশিন এবং অনুরূপ "মেশিনগুলি" গণনার মডেল , তাদের উদ্দেশ্য যেমন সমস্যাগুলি তদন্ত করা হয়:

  • কী গণনা করা যায়
  • সমস্যার জটিলতা শ্রেণি
  • জটিলতা ক্লাসের মধ্যে সম্পর্ক
  • কোনও কিছুর গণনা করার বিভিন্ন উপায়ে সমতা

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

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

সুতরাং দুটি পদ্ধতির মূলত মতভেদ রয়েছে। উভয়ই কম্পিউটার বিজ্ঞানের ক্ষেত্রে থাকার পাশাপাশি একে অপরের সাথে তেমন কিছু করার নেই।


1
ধন্যবাদ। তবে আমি " ট্যুরিং মেশিন এবং ভার্চুয়াল মেশিনগুলির সাথে সাদৃশ্যযুক্ত সার্বজনীন টুরিং মেশিনগুলি পেয়েছি" যা তাদের সম্পর্কের পরামর্শ দিতে পারে তবে কোনও বিবরণ নেই।
টিম

4
@ টিম আমি অনুমান করেছি যে কোর্সটি কেবল ট্যুরিং মেশিনগুলিকে একটি বিমূর্ত মেশিনের ধারণাটি প্রবর্তন করার জন্য একটি প্রাথমিক বিন্দু হিসাবে গ্রহণ করে, তারপরে দ্রুত আরও দরকারী বিমূর্ত মেশিনে চলে যায়।

4

মূল সম্পর্কটি হ'ল আপনি দৈহিক ক্ষেত্রে তাত্ত্বিক নির্মাণের অনুকরণ করতে পারেন।

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

থামানো সমস্যাটি এমন কোনও কিছুর একটি নিখুঁত উদাহরণ যা টিউরিং মেশিনে অযোগ্য হয় এমন হিসাবে দেখানো হয়েছিল এবং ট্যুরিং মেশিনে প্রমাণ হিসাবে এটি টুরিং মেশিনের আইন মেনে চলতে পারে এমন একটি আসল মেশিনে অবিশ্বাস্য বলে পরিচিত।

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

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


1

এগুলি মোটামুটি একইভাবে সম্পর্কিত যেভাবে স্পেস শাটলটি আপনি যে শ্বাসকষ্ট দিয়ে ফুটিয়ে তুলছেন তার সাথে সম্পর্কিত এবং তারপরে যেতে দিন এবং উড়ে যেতে দেখবেন।

বিপরীত দিক থেকে কিছু চালাতে একদিকে কোনও কিছুকে বহিষ্কার করার মৌলিক নীতিটি রয়েছে।

এখানেই মিলের সমাপ্তি ঘটে।


1

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


1

এটি জেনে রাখা গুরুত্বপূর্ণ যে গণনার সংজ্ঞাটি "কম্পিউটারগুলি যা করে সেগুলি নয়"। গণনা কম্পিউটারের পূর্বাভাস দেয়। কম্পিউটার তাদের নাম দেওয়া কারণ তারা গণনার কাজটি সহায়তা করার তৈরি করা হয়েছিল সেটা না কারণ তারা এটা নির্ধারণ করুন।

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

সুতরাং ট্যুরিং মেশিন দুটি অত্যন্ত গুরুত্বপূর্ণ কাজ করে:

  1. যে কোনও সমস্যা / কার্যের সামঞ্জস্যতার জন্য একটি পরীক্ষা সরবরাহ করে।
  2. যে কোনও সিস্টেমের এটি কোনও গণনীয় কার্য গণনা করতে পারে কিনা তা দেখানোর জন্য একটি পরীক্ষা সরবরাহ করে।

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

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

যার অর্থ হল টুরিং মেশিন এবং যেকোন প্রকৃত ব্যবহারিক কম্পিউটার আর্কিটেকচার (এমনকি ভার্চুয়ালগুলি) এর মধ্যে সম্পর্ক কেবল একটি জিনিস: তারা গণনা করতে পারে।

ভন নিউমানের স্থাপত্যটি কার্যকর সাধারণ উদ্দেশ্যে বৈদ্যুতিন ডিজিটাল কম্পিউটারগুলির জন্য একটি নকশার টেম্পলেট তৈরি করার চেষ্টা ছিল । টুরিংয়ের কাজটি তার বৈধতার প্রমাণ দিয়েছিল


-1

আপনি যদি এটির বিষয়ে চিন্তা করেন তবে আর্কিটেকচারগুলি বিমূর্ত মেশিন। তারা বর্ণনা করে যে কীভাবে যত্ন সহকারে তৈরি সিলিকনগুলির একটি গলদা "আচরণ করা উচিত"। আর্কিটেকচার এবং ট্যুরিং মেশিনের মধ্যে পার্থক্য একটি মৌলিক স্থান পরিবর্তনের চেয়ে মাপের বিষয়।

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

সুতরাং আসুন আমরা বলি যে আপনার কাছে এমন একটি আর্কিটেকচার রয়েছে যা সরাসরি এলআইএসপি শৈলীর প্রোগ্রামগুলিকে সমর্থন করে এবং অন্যটি x86 এর মতো যা আরও প্রক্রিয়াগত। আপনার বন্ধু দাবি করে যে "এলআইএসপি আরও ভাববাদী, তাই আপনি এই মেশিনে প্রোগ্রাম লিখতে পারেন যা আপনি কখনই x x এ লিখতে পারেন না।" এটি পাল্টা নিষ্ঠুর (বিশেষত যেহেতু আপনি সম্ভবত যথেষ্ট এলআইএসপি জানেন না)। তবে আপনি ট্যুরিং মেশিনের মতো কয়েকটি বিমূর্ত মেশিনকে অপব্যবহার করতে পারেন:

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

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


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

মূল্য আর্কিটেকচারের প্রদর্শক কিভাবে দ্রুত তারা কাজ করতে পারেন যে এটা প্রায়ই প্রমাণ করতে হবে যে তারা গনা করতে ভয়ঙ্কর কঠিন তার জন্য টাকা দিতে সবকিছু । তার জন্য, আর্কিটেকচারগুলি ডানদিকে ফিরে ফিরে বিমূর্ত মেশিনগুলি ব্যবহার শুরু করে।


1
আপনার প্রদত্ত যুক্তির উদাহরণগুলি প্রযুক্তিগতভাবে সঠিক নয় - আপনি যদি বলেন যে কোনও টুরিং মেশিন একটি রেজিস্টার মেশিন বা x86 মাহিন যা করতে পারে তা করতে পারে তবে এটির প্রয়োজনীয়তার অর্থ এই নয় যে একটি x86 মেশিন যা রেজিস্টার মেশিন বা টুরিং মেশিনে সমস্ত কিছু করতে পারে করতে পারা. একটি কাউন্টারে নমুনা হিসাবে, কোনও সসীম অটোমেটনকে একটি টুরিং মেশিনেও হ্রাস করা যায় তবে স্পষ্টভাবে ল্যাম্বদা ক্যালকুলাস বা এলআইএসপি এর সমতুল্য নয়। দিকনির্দেশের বিষয়গুলি - আপনি যদি "আমার x86 বাক্সটি আপনার অভিনব এলআইএসপি ভিত্তিক মেশিনটি কিছু করতে পারে" বলতে চান তবে তার জন্য ট্যুরিং থেকে x86-তে কমানোর দরকার, x86 থেকে টুরিংয়ের দিকে নয়।
পিটারিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.