সংক্ষেপে :
টিউরিং মেশিন এবং পিসির মতো সাধারণ কম্পিউটারগুলির কাছে অপরিহার্য প্রোগ্রামিং ভাষার বৈশিষ্ট্যগুলি কী, (টুরিং মেশিনের পরিবর্তে এলোমেলো অ্যাক্সেস মেশিনের (র্যাম) কাছাকাছি) তারা স্বতন্ত্র মেমরির ধারণা যা সংরক্ষণের জন্য সংশোধন করা যেতে পারে (অন্তর্বর্তী ফলাফল) )। এটি একটি রাষ্ট্রের ধারণা সহ গণনার একটি অটোমেটা ভিউ (উভয় সীমাবদ্ধ রাষ্ট্রীয় নিয়ন্ত্রণ এবং মেমরির বিষয়বস্তু সমন্বিত) যা গণনার অগ্রগতির সাথে সাথে পরিবর্তন করতে পারে।
বেশিরভাগ অন্যান্য মডেলগুলি আরও বিমূর্ত হয়। যদিও তারা কোনও মূল কাঠামোর রূপান্তর পদক্ষেপের উত্তরাধিকার হিসাবে গণনাটি প্রকাশ করতে পারে তবে এই রূপান্তরটি গাণিতিক অর্থের এককভাবে অন্তর্ভুক্ত মহাবিশ্বের ক্ষেত্রে প্রয়োগ করা হয়। এটি প্রাসঙ্গিক স্বচ্ছতার মতো বৈশিষ্ট্যগুলি সংরক্ষণ করতে পারে যা গাণিতিক বিশ্লেষণকে সহজ করে তুলতে পারে। তবে এটি প্রাকৃতিক শারীরিক মডেলগুলি থেকে বেশি দূরে যা মেমোরির সমাপ্তিতে নির্ভর করে।
সুতরাং নীচে বর্ণিত বৃহত্তর অর্থে কোনও প্রাকৃতিক কার্যকরী মেশিন নেই, যেহেতু সফ্টওয়্যারটি হার্ডওয়্যার থেকে সত্যই পৃথক নয়।
টিউরিংকে গণনার যোগ্যতা হিসাবে উল্লেখ করা সম্ভবত তাঁর মডেল, টুরিং মেশিনটি এই শারীরিক বাস্তবতা বাধাগ্রস্থার নিকটবর্তী ছিল, যা এটি গণনার আরও স্বজ্ঞাত মডেল হিসাবে তৈরি করেছিল।
আরও বিবেচনা :
গণনার অনেকগুলি মডেল রয়েছে, যা একটি গণনার ধারণাকে সবচেয়ে সাধারণভাবে ক্যাপচার করার জন্য ডিজাইন করা হয়েছিল। এগুলির মধ্যে রয়েছে ট্যুরিং মেশিনগুলি, আসলে বিভিন্ন ধরণের স্বাদে, ল্যাম্বডা ক্যালকুলাস (স্বাদগুলিও), আধা-থু পুনর্লিখন সিস্টেম, আংশিক পুনরাবৃত্তি ফাংশন, সংযুক্ত যুক্তি।
তারা সকলেই গণনা প্রকাশ বা গণনা পরিচালনার জন্য গণিতবিদদের দ্বারা ব্যবহৃত বিভিন্ন কৌশলগুলির কয়েকটি দিক ক্যাপচার করে। আর সবচেয়ে কিছু প্রোগ্রামিং ভাষা নকশা ভিত্তি হিসেবে কিছুটা হলেও ব্যবহার করা হয়েছে (যেমন Snobol rewriting সিস্টেম, জন্য APL combinators জন্য, পাতার মর্মর / পরিকল্পনা ল্যামডা ক্যালকুলাস জন্য) এবং প্রায়ই আধুনিক প্রোগ্রামিং ভাষাতে বিভিন্ন উপায়ে মিলিত হতে পারে।
একটি বড় ফল হ'ল এই সমস্ত গণনার মডেলগুলি সমতুল্য প্রমাণিত হয়েছিল, যা চার্চ-টিউরিং থিসিসের দিকে নিয়ে যায় যে কোনও গণনার কোনও শারীরিকভাবে উপলব্ধিযোগ্য মডেল এই মডেলের কোনওটির চেয়ে বেশি কিছু করতে পারে না। গণনার একটি মডেলকে বলা হয় ট্যুরিং সম্পূর্ণ হয় যদি এটি এই মডেলগুলির মধ্যে একটির সমতুল্য প্রমাণিত হতে পারে, সুতরাং তাদের সকলের সমতুল্য।
নামটি অন্যরকম হতে পারত। রেফারেন্স হিসাবে টুরিং মেশিন (টিএম) এর পছন্দ সম্ভবত এই মডেলগুলির মধ্যে সবচেয়ে সহজ, এই কারণেই একটি মানব গণনা এবং প্রয়োগ করা মোটামুটি সহজ উপায় (একটি সীমাবদ্ধ সীমাবদ্ধ আকারে) ) একটি দৈহিক ডিভাইস হিসাবে, লেগো সেটগুলি দিয়ে টুরিং মেশিনগুলি নির্মিত হয়েছে । প্রাথমিক ধারণাটির জন্য কোনও গাণিতিক পরিশীলনের প্রয়োজন নেই। এটি সম্ভবত মডেলটির সরলতা এবং উপলব্ধিযোগ্যতা যা এটিকে এই রেফারেন্স অবস্থান দিয়েছে।
অ্যালান টুরিং যখন তাঁর কম্পিউটিং ডিভাইস তৈরি করেছিলেন, তখন অন্যান্য প্রস্তাবনাগুলি গণনাটির আনুষ্ঠানিক সংজ্ঞা হিসাবে কাজ করার টেবিলে ছিল, এটি গণিতের ভিত্তির জন্য একটি গুরুত্বপূর্ণ বিষয় (
এন্টেসিডেংস্প্রোব্লেম দেখুন )। ট্যুরিং প্রস্তাবটিকে সেই সময়ের বিশেষজ্ঞদের বিবেচনা করা হয়েছিল যে গণনাযোগ্যতাটি কী হতে হবে সে সম্পর্কে সুনির্দিষ্টভাবে অন্তর্ভুক্ত একটি পরিচিত কাজ হিসাবে বিবেচনা করা হয়েছে (দেখুন কম্পিউটারের অযোগ্যতা এবং পুনর্বিবেচনা , আরআই সোয়ার, 1996, বিভাগ 3.2 দেখুন) see বিভিন্ন প্রস্তাব সমতুল্য প্রমাণিত হয়েছিল, তবে ট্যুরিং এর বেশি বিশ্বাসযোগ্য ছিল। [যুবাল ফিল্মাসের মন্তব্য থেকে]
এটি লক্ষ্য করা উচিত যে একটি হার্ডওয়্যার দৃষ্টিকোণ থেকে, আমাদের কম্পিউটারগুলি টুরিং মেশিনগুলি নয়, বরং যাকে বলা হয় র্যান্ডম অ্যাক্সেস মেশিন (র্যাম) , এটিও ট্যুরিং সম্পূর্ণ।
খাঁটি অপরিহার্য ভাষা (যার অর্থ যাই হোক না কেন) সম্ভবত টুউরিং মেশিন, বা কম্পিউটারের এসেম্বলি ল্যাঙ্গুয়েজ (তার বাইনারি কোডিং এড়িয়ে যাওয়া) মতো সর্বাধিক বুনিয়াদি মডেলগুলির জন্য ব্যবহৃত আনুষ্ঠানিকতা। উভয়ই কুখ্যাতভাবে অপঠনযোগ্য এবং এর সাথে উল্লেখযোগ্য প্রোগ্রামগুলি লেখা খুব শক্ত। প্রকৃতপক্ষে, এমনকি মেশিনের নির্দেশাবলীর সরাসরি ব্যবহারের তুলনায় অ্যাসেম্বলি ভাষার কিছুটা প্রোগ্রামিং সহজ করতে কিছু উচ্চ স্তরের বৈশিষ্ট্য রয়েছে। প্রাথমিক অপরিহার্য মডেলগুলি দৈহিক দুনিয়াতে বন্ধ থাকে তবে খুব ব্যবহারযোগ্য হয় না।
এটি দ্রুত গণনার উচ্চ স্তরের মডেলগুলির বিকাশের দিকে পরিচালিত করে, যা এটির মধ্যে বিভিন্ন উপকরণ এবং ফাংশন কলগুলি, মেমরির অবস্থানের নামকরণ, নামগুলির স্কোপিং, কোয়ান্টিফিকেশন এবং ডামি ভেরিয়েবলগুলির মতো বিভিন্ন কম্পিউটারের মিশ্রণ শুরু করে already গণিত এবং যুক্তিতে এবং এমনকি প্রতিচ্ছবি হিসাবে খুব বিমূর্ত ধারণা ( লিস্প 1958)।
প্রোগ্রামিং ভাষাগুলির প্রোগ্রামিং দৃষ্টান্তে যেমন শ্রেণিবদ্ধকরণ যেমন আবশ্যক, কার্যকরী, যুক্তি, অবজেক্ট ওরিয়েন্টেড ভাষাটির নকশায় এই কয়েকটি কৌশলের প্রাধান্য এবং উপস্থিতি বা অনুপস্থিতির ভিত্তিতে এমন কিছু কম্পিউটিং বৈশিষ্ট্য যা প্রোগ্রামের জন্য কিছু বৈশিষ্ট্য প্রয়োগ করে তার উপর ভিত্তি করে বা প্রোগ্রামের টুকরো ভাষায় লেখা।
কিছু মডেল শারীরিক মেশিনগুলির জন্য সুবিধাজনক। কিছু অন্যান্য আলগোরিদিমগুলির উচ্চ-স্তরের বর্ণনার জন্য আরও সুবিধাজনক, এটি বর্ণিত হওয়া অ্যালগরিদমের ধরণের উপর নির্ভর করে। কিছু তাত্ত্বিক বিশেষজ্ঞ এমনকি অ্যালগরিদমের অ-সংজ্ঞাবদ্ধ স্পেসিফিকেশন ব্যবহার করেন এবং এমনকি সিএন আরও প্রচলিত প্রোগ্রামিং শর্তে অনুবাদ করা যায়। তবে কোনও মিল নেই,
এখন, আপনার কম্পিউটারটি কখনই কাঁচা হার্ডওয়্যার হিসাবে দেখা উচিত নয়। এটিতে বুলিয়ান সার্কিটরি রয়েছে যা খুব প্রাথমিক প্রক্রিয়াজাতকরণ করে। তবে এর বেশিরভাগটি কম্পিউটারের অভ্যন্তরে মাইক্রো প্রোগ্রাম দ্বারা চালিত যা আপনি কখনই জানতে পারবেন না। তারপরে আপনার অপারেটিং সিস্টেম রয়েছে যা আপনার মেশিনটিকে হার্ডওয়্যারের থেকে পৃথক করে তোলে top সর্বোপরি আপনার কাছে ভার্চুয়াল মেশিন থাকতে পারে যা বাইট কোড চালায় এবং তারপরে পাইভা এবং জাথন, বা হাস্কেলের মতো উচ্চ স্তরের ভাষা থাকতে পারে , বা ওক্যামেল, যা বাইট কোডে সংকলন করা যায়।
প্রতিটি স্তরে আপনি একটি আলাদা গণনার মডেল দেখতে পাবেন। হার্ডওয়্যার স্তরটি সফ্টওয়্যার স্তর থেকে পৃথক করা খুব শক্ত এবং এইভাবে কোনও মেশিনকে একটি নির্দিষ্ট গণনার মডেল নির্ধারণ করতে। এবং যেহেতু তারা সকলেই আন্তঃবর্জিত, চূড়ান্ত হার্ডওয়্যার গণনা মডেলটির ধারণাটি একটি বিভ্রম।
ল্যাম্বদা ক্যালকুলাস মেশিনটি বিদ্যমান: এটি এমন একটি কম্পিউটার যা ল্যাম্বদা ক্যালকুলাসের ভাবগুলি হ্রাস করতে পারে। সহজেই সম্পন্ন বিজ্ঞাপন।
বিশেষায়িত মেশিন আর্কিটেকচার সম্পর্কে
আসলে, পিটার টেলরের উত্তর পরিপূরক করা , এবং হার্ডওয়্যার / সফ্টওয়্যার ইন্টারটুইনিংয়ের অনুসরণ করে, বিশেষায়িত মেশিনগুলি একটি নির্দিষ্ট দৃষ্টান্তের সাথে আরও ভালভাবে খাপ খাইয়ে তৈরি করা হয়েছে, এবং তাদের মূল সফ্টওয়্যারটি সেই দৃষ্টান্তের ভিত্তিতে একটি প্রোগ্রামিং ভাষায় লিখিত ছিল।
এর মধ্যে রয়েছে
মূলত, এগুলি হ'ল অপরিহার্য হার্ডওয়্যার স্ট্রাকচারও, তবে লক্ষ্যযুক্ত দৃষ্টান্তের সাথে আরও ভাল খাপ খাইয়ে নিতে বিশেষ হারওয়ার বৈশিষ্ট্য বা মাইক্রোপ্রোগ্রামড দোভাষী দ্বারা প্রশমিত।
প্রকৃতপক্ষে, নির্দিষ্ট দৃষ্টান্তগুলির জন্য বিশেষীকৃত হার্ডওয়্যার দীর্ঘমেয়াদে সফল হয়েছে বলে মনে হয় না। কারণটি হ'ল ভ্যানিলা হার্ডওয়ারের ক্ষেত্রে যে কোনও দৃষ্টান্ত প্রয়োগ করার সংকলন প্রযুক্তিটি আরও বেশি কার্যকর হয়ে ওঠে, যাতে বিশেষ হার্ডওয়্যারটির এত বেশি প্রয়োজন হয় না। তদতিরিক্ত, হারওয়ারের পারফরম্যান্স দ্রুত উন্নতি করছিল, তবে উন্নততার ব্যয় (বেসিক সফ্টওয়্যারগুলির বিবর্তন সহ) বিশেষত হার্ডওয়ারের চেয়ে ভ্যানিলা হার্ডওয়ারের চেয়ে আরও সহজেই অর্জিত হয়েছিল। বিশেষায়িত হার্ডওয়্যার দীর্ঘমেয়াদে প্রতিযোগিতা করতে পারেনি।
তবুও, যদিও এ সম্পর্কে আমার কাছে কোনও সঠিক তথ্য নেই, তবে আমি সন্দেহ করব যে এই উদ্যোগগুলি কিছু ধারণা রেখেছিল যা মেশিন, স্মৃতি এবং নির্দেশের বিবর্তনকে প্রভাবিত করে architect
(a -> a) -> a
।