বিষয়গুলি সম্পর্কে
বিভিন্ন ধরণের সমস্যা রয়েছে যা তাত্ত্বিক কম্পিউটার বিজ্ঞান হিসাবে বিবেচিত হতে পারে
। এখানে গুরুত্বপূর্ণ শব্দটি হ'ল " তাত্ত্বিক " (যেমন কম্পিউটার বিজ্ঞান যার সাথে সম্পর্কিত তা আমাদের সবারই ধারণা আছে)। তাত্ত্বিক শব্দটি বোঝা এত স্পষ্ট নয়। দীর্ঘদিন ধরে আমি এটি গাণিতিক বোঝাতে চেয়েছিলাম, যেমন "হ্যাকিং" এর বিপরীতে। ভাষাবিজ্ঞানের লোকদের কাছ থেকে আমি আরও ভালভাবে শিখেছি:
তাত্ত্বিকতাদের জন্য স্পষ্টরূপে গাণিতিক বোঝানো হয়নি, তবে এমন একটি তত্ত্বের ভিত্তিতে যা কিছুটা অনানুষ্ঠানিক হতে পারে (যদিও এটি গাণিতিকও হতে পারে), এবং এটি জ্ঞান এবং ধারণাগুলির একটি সংগঠিত সংস্থা যা পর্যবেক্ষণযোগ্য ঘটনাকে কাঠামোগত বোঝার এবং আশা করি কিছু অনুমানমূলক এবং ভবিষ্যদ্বাণীমূলক ব্যবহারের অনুমতি দেয় অর্জিত জ্ঞানের। এটি শিখতে এবং শেখার পরিমাণকে হ্রাস করে আধ্যাত্মিক ধারণাগুলির সংখ্যা হ্রাস করে, যেখানে থেকে বাকিগুলি বাদ দেওয়া যায়।
তাত্ত্বিক ব্যবহারিক ব্যবহারের বিরোধিতা করতে পারে , যা এই জ্ঞানটি আসলে কম্পিউটার তৈরির ইঞ্জিনগুলি চালাতে, সিস্টেম তৈরি করার জন্য ব্যবহার করা হয়। আমি প্রয়োগেরও বিরোধী হতে পারি যা বিজ্ঞানের এবং মানুষের অন্যান্য ক্ষেত্রে সমস্যাগুলি সমাধান করার জন্য এই জ্ঞানের ব্যবহার is কার্যক্রম।
তবে আমার সন্দেহ আছে যে পরিষ্কার সীমানা রয়েছে।
এটি বলেছে, তাত্ত্বিক কম্পিউটার বিজ্ঞান বিভিন্ন ডোমেনকে কভার করে, এবং আমি কিছু দেওয়ার চেষ্টা করব, যদিও আমি নিশ্চিত যে আমি অন্যকে ভুলে গিয়েছি এবং অন্যান্য লোকেরাও এই সংস্থার সাথে একমত হতে পারে না।
একটি ডোমেন হ'ল গণনাযোগ্যতা , যা কী গণনা করা যায় এবং কীভাবে একটি বিমূর্ত অর্থে পড়াশোনা করা হয়: মূলত সুরেশ ভেঙ্কটের উত্তরে বর্ণিত।
আর একটি হ'ল অ্যালগরিদমিক্স , এটি নির্দিষ্ট বাধা সহ নির্দিষ্ট সমস্যার উত্তরগুলি গণনা করার কার্যকর উপায় খুঁজে পায়। গণনাযোগ্যতা অ্যালগরিদমিকদের জন্য একটি তাত্ত্বিক প্রসঙ্গ।
শব্দার্থবিজ্ঞান (আরও ভাল নামের প্রয়োজনে), গণনাগত সমস্যা এবং অ্যালগরিদমগুলির ধারণামূলক সংগঠনটিকে উচ্চতর স্তরের ধারণাগুলিতে বিশ্লেষণ করে, যাতে কার্যকর প্রমাণিত এবং প্রায়শই পুনরায় ব্যবহার করা হয় এমন কৌশলগুলিকে গুণিত করা যায় যেমন উপ-প্রকল্পের ধারণা, ডেটা- কাঠামো, মডিউল, তথ্য গোপন। এটিতে গাণিতিক সরঞ্জামগুলির বিকাশ অন্তর্ভুক্ত যা উচ্চ-স্তরের যুক্তি (উদাহরণস্বরূপ স্কট শব্দার্থবিজ্ঞান) অনুমোদনের জন্য এই ধারণাগুলি পর্যাপ্তরূপে ize এটি প্রকাশের উপায়কেও স্পর্শ করে, এভাবে বাক্য গঠন এবং শব্দার্থবিজ্ঞানের মধ্যে বিচ্ছেদ এবং সম্পর্কের বিষয়ে। প্রোগ্রামিং ভাষার ধারণাগুলি এর অংশ (যদিও ভাষা নকশা সম্ভবত সেই জ্ঞানের বাস্তবিক প্রয়োগ) the এটি প্রমাণ তত্ত্ব এবং গণনা তত্ত্ব এবং টাইপ সিস্টেমগুলির আধুনিক ভূমিকার মধ্যে সম্পর্কও অন্তর্ভুক্ত করতে পারে।
আর একটি বিষয়, যা এখন পর্যন্ত তার চেয়ে বেশি বিকাশ করতে পারে, তা হল গণনা এবং মৌলিক পদার্থবিজ্ঞানের সম্পর্ক। উদাহরণ স্বরূপ. গণনার সীমাবদ্ধতা এবং শারীরিক জগতের বৈশিষ্ট্যগুলির মধ্যে যেমন কোনও শারীরিক তথ্য ঘনত্ব বা থার্মোডিনামিক্সের আইনগুলির মধ্যে কোনও সম্পর্ক রয়েছে। কোয়ান্টাম কম্পিউটিং আমাদের গণনার দক্ষতা কিছুটা উন্নত করতে পারে; আমরা কি আরও আশা করতে পারি? কেউ কেউ বিতর্ক করতে পারে যে এটি এখনও টিসিএস, যদিও হাইপারকমপুটেশন সম্পর্কিত টিসিএস স্টাডিজ রয়েছে ।
নির্দিষ্ট কার্যক্রম সম্পর্কে
আমি একাডেমিক জীবনের প্রয়োজনীয় স্পষ্ট ক্রিয়াকলাপগুলি এড়িয়ে যাচ্ছি। বা শিল্পে বৈজ্ঞানিক জীবন: পাঠদান, প্রকাশ, কাগজপত্র পর্যালোচনা, অনুদানের আবেদনগুলি লেখার, একাডেমিক দায়িত্ব গ্রহণ করা, লোকদের পরিচালনা করা, শিক্ষার্থীদের বা নীতিনির্ধারকদের পরামর্শ দেওয়া। তবে তারপরেও, আপনার প্রশ্নের কোনও সহজ উত্তর নেই। এখানে আমি স্মরণে আসা কয়েকটি দিকগুলি স্কেচ করছি, তবে আমি নিশ্চিত যে আরও অনেক কিছু বলা উচিত। আমি নিশ্চিত যে আমি আপনাকে উত্তর দিচ্ছি না। কিছু সেরা বিজ্ঞানী তাদের কাজ সম্পর্কে বই লিখেছেন এবং এটি আপনাকে বৈজ্ঞানিক ক্রিয়াকলাপ সম্পর্কে ইঙ্গিত দিতে পারে।
তত্ত্ব নিয়ে গবেষণা করা আপনার দক্ষতা এবং আগ্রহগুলির উপর নির্ভর করে বিভিন্ন বিজ্ঞানের সাথে জড়িত হতে পারে যা বিজ্ঞানী থেকে বৈজ্ঞানিকর চেয়ে অনেক বেশি আলাদা হয়। এটি নিয়ে কথা বলা কিছুটা কঠিন, যেহেতু প্রতিটি ব্যক্তি তার নিজের কার্যকলাপ এবং আগ্রহের বিষয়ে অন্যের চেয়ে বেশি উপলব্ধি করে। বেশিরভাগ পুনর্নির্মাণের জন্য একটি বিস্তৃত জ্ঞান প্রয়োজন, যেহেতু আকর্ষণীয় এবং সত্যই আসল ফলাফলগুলি প্রায়শই জিনিসগুলিকে সম্পর্কযুক্ত করা, বা একটি (উপ) ক্ষেত্র থেকে অন্য কোনও প্রযুক্তিতে স্থানান্তরিত করা বা একই সমস্যার বিভিন্ন প্রযুক্তিগত দৃষ্টিভঙ্গি পাওয়া থেকে আসে। সুতরাং প্রস্থে যতটুকু গভীরতা ততটুকু শেখা গুরুত্বপূর্ণ। মনে রাখবেন যে আপনি যখন ছাত্র হিসাবে, বা জুনিয়র অনুষদ / বিজ্ঞানী হিসাবে এর জন্য সময় এবং ক্ষমতা রাখেন তখন উভয়ই পরবর্তীকালে হ্রাস পাবে, কারণ সাধারণভাবে দায়িত্ব এবং জীবনের কারণে। আপনি যা বিশেষীকরণ করবেন না তা শেখানো শেখার একটি উপায় হতে পারে।
লোকেরা যে ধরণের কাজ করে তা অনেকগুলি পরিবর্তিত হতে পারে, কারণ লোকেরা ভাগ্যক্রমে খুব আলাদা, বিভিন্ন ধরণের আগ্রহ এবং প্রযুক্তিগত ক্ষমতা সহ, এইভাবে একে অপরের পরিপূরক হয়। কিছু লোক সমস্যা সমাধানকারী। তারা অন্যান্য ব্যক্তি বা নিজের দ্বারা উত্থাপিত তাত্ত্বিক বা ব্যবহারিক প্রশ্নগুলি দেখে এবং তাদের সমাধান করার চেষ্টা করে বা একটি সম্পূর্ণ বা আংশিক সমাধানের কাছাকাছি যায়। অন্যান্য লোকেরা বিদ্যমান জ্ঞানকে কাঠামোগত করাতে এবং জিনিসটিকে সম্পর্কযুক্ত করাতে এবং তারপরে জিজ্ঞাসার জন্য নতুন প্রশ্ন খুঁজতে আরও ভাল। দুটোই অপরিহার্য।
প্রযুক্তিগত ফলাফলগুলির সহজ প্রমাণগুলি, বা তত্ত্বগুলির সহজ উপস্থাপনা, বা ধারণাগুলি মার্জ করা গুরুত্বপূর্ণ। এটি ফলাফলকে সাধারণীকরণ করে, শিখার জন্য জিনিসগুলির সংখ্যা হ্রাস করে, প্রয়োজনীয় ধারণাগুলির উপর জোর দেয় এবং সম্ভবত নতুন উপলব্ধি নিয়ে আসে। যেহেতু আমাদের শেখার সময় সীমিত, আমরা যখন জ্ঞানকে ঘনীভূত করি তখনই অগ্রগতি সম্ভব।
এর সাধারণ উদাহরণ হ'ল আনুষ্ঠানিক ভাষাগুলির বিমূর্ত পরিবারগুলির অধ্যয়ন। যখন ভাষা তত্ত্বটি প্রথম বিকাশ লাভ করেছিল, পরিবারের বিভিন্ন উপর নির্ভর করে অ্যাডহক কৌশল সহ ভাষার প্রতিটি পরিবারের (নিয়মিত, প্রসঙ্গমুক্ত, আরই, ...) বিভিন্ন অপারেশনের অধীনে ক্লোজার বৈশিষ্ট্য প্রমাণিত হয়েছিল। তারপরে এটি ঘটেছিল যে এই সমাধির সম্পত্তিগুলির সাথে সম্পর্কিত পরিবারগুলির সাথে স্বতন্ত্রভাবে আন্তঃসম্পর্কীয় সম্পর্ক ছিল এবং সেগুলি সেভাবেই অধ্যয়ন করা হয়েছিল। আজ, আমাদের কেবল প্রদত্ত পরিবারের জন্য কয়েকটি সহজ ক্লোজার বৈশিষ্ট্য যাচাই করতে হবে এবং আমরা অন্যান্য সম্পত্তিগুলির পুরো সেট "ফ্রি" পাই।
আর একটি গুরুত্বপূর্ণ বিষয় হ'ল তাত্ত্বিক, ব্যবহারিক বা পরীক্ষামূলক কাজের মধ্যে এরকম পরিষ্কার-পার্থক্য নেই। একটি ভাল তত্ত্ব সিস্টেমগুলির প্রয়োগের দিকে পরিচালিত করতে পারে যা সমস্যার সমাধানকে যান্ত্রিকীকরণ করতে পারে। তাত্ত্বিক এবং ব্যবহারিক কাজের মিশ্রণ সহ সিস্টেম বাস্তবায়ন বা ভাষার নকশা সহ এ জাতীয় ব্যবস্থা বাস্তবায়নের জন্য এটি একটি ভাল তাত্ত্বিককে লাগবে। অনেক উদাহরণ মাথায় আসে যেমন প্রমাণ এবং / বা প্রোগ্রাম সংশ্লেষ সিস্টেম, সিঙ্ক্রোনাস প্যারালাল সিস্টেমগুলির জন্য বিশেষায়িত ভাষা, একটি সীমাবদ্ধ অ্যালগরিদমিক ভাষা যার জন্য কম্পিউটেশনাল জটিলতা নিয়মিতভাবে উত্পন্ন করা যায়। তাত্ত্বিক ফলাফলগুলি আরও বিস্তৃতভাবে উপলব্ধ এবং ব্যবহারযোগ্য করে তোলে এমন ধরণের সিস্টেম ব্যবহার করতে সক্ষম হওয়া কেবল তাত্পর্যপূর্ণ নয়, তবুও তাত্ত্বিকের পক্ষে হয় তবে এই সিস্টেমগুলি দক্ষতার সাথে ব্যবহার করা, যদি কেবল তার এখনকার সৃজনশীল অংশগুলি আনলোড করা হয় তবে কাজ, বা এই সিস্টেমের বিকাশ এবং প্রসারণে অবদান রাখতে।
আরেকটি দিক হ'ল প্রাকৃতিক পরীক্ষার মাধ্যমে তাত্ত্বিক পদ্ধতির তুলনা করতে সক্ষম হওয়া। এখানে সমস্যাটি একই লক্ষ্য অর্জনের জন্য বিভিন্ন কৌশলগুলির সাথে তুলনা করা। বাস্তবায়ন তুলনা প্রায়শই অর্থহীন কারণ তাদের দক্ষতা প্রায়শই প্রোগ্রামিং ভাষার উপর নির্ভর করে, বা বাস্তবায়নকারীদের প্রোগ্রামিং দক্ষতার উপর নির্ভর করে। তবে যদি এগুলি সমস্ত একটি সাধারণ তাত্ত্বিক কাঠামোর মধ্যে প্রকাশ করা যায় তবে মাঝে মাঝে তাদের কাঠামোর মধ্যে পরীক্ষামূলকভাবে তুলনা করা সম্ভব হয়। এখানে তত্ত্ব এবং অনুশীলন একে অপরকে সমর্থন করে, যেমন তারা প্রায়শই বিজ্ঞানে করে। খাঁটি তাত্ত্বিক বিশ্লেষণ সবসময় অর্জন করা সহজ নয়। তদুপরি, পরীক্ষামূলক বিশ্লেষণ, যখন ভালভাবে পরিচালিত হয়, অপ্রত্যাশিত আচরণ প্রদর্শন করতে পারে যা আরও ভাল তাত্ত্বিক বিশ্লেষণকে প্ররোচিত করতে পারে।
বিশ্ব সহজ বা পরিষ্কার-কাট নয়। সে কারণেই এটি মজাদার হতে পারে, সব ধরণের দক্ষতার জন্য জায়গা। নিজের জ্ঞান নিয়ে প্রশ্ন করা, এবং যে কোনও উপায়ে অন্যের প্রশ্নের উত্তর দেওয়া।
দুটি জিনিস প্রায়শই ভুলে যায়: বিজ্ঞানের নীতিশাস্ত্র, এবং এটি লোকদের কাছে ব্যাখ্যা করে। উভয়ই অপরিহার্য, এবং কঠোর।