যুক্তিযুক্ত সংখ্যার তুলনা করা


12

প্রদত্ত এবং ,a,b,c,dNb,d{0}

ab<cdad<cb

আমার প্রশ্নগুলি হ'ল:

প্রদত্তa,b,c,d

  1. ধরে নিই আমরা in সিদ্ধান্ত নিতে পারি , গুণের (বা বিভাগ) প্রিমিয়াম না করেই সিদ্ধান্ত নেওয়ার কোনও উপায় আছে , এবং । বা কোনও ধরণের প্রমাণ আছে যে কোনও উপায় নেই।x<yZO(|x|+|y|)ad<cbadcb
  2. ডিনোমিনেটরকে গুণিত করার চেয়ে যুক্তিযুক্ত সংখ্যার তুলনা করার জন্য কী দ্রুত পদ্ধতি আছে?

1
@ পিকেজি তবে গুণটি লিনিয়ার সময়ের চেয়ে বেশি সময় নেবে। আমি মনে করি আমরা এই প্রশ্নের জন্য দ্রুত কিছু চাই।
জো

1
জটিল কেসটি যখন এক বিরতিতে অন্য অন্তর্ভুক্ত থাকে, যেমন [a,d][b,c]
পিকেজি

1
আপনি স্পষ্টতই ধরে নিন যে এবং এর একই চিহ্ন রয়েছে। অন্যথায়, অসমতার দিক পরিবর্তন হয়। bd
রণ জি।

1
(1) গুণ প্রায় লিনিয়ার (ফারারের অ্যালগরিদমের জন্য অনুসন্ধান)। (২) একটি "যৌক্তিক পূর্ণসংখ্যা", কমপক্ষে বীজগণিত সংখ্যা তত্ত্বের প্রসঙ্গে আসলে কেবলমাত্র একটি পূর্ণসংখ্যা বোঝায়। আপনি "যুক্তিযুক্ত" বা "যুক্তিযুক্ত সংখ্যা" বলতে চান।
যুবাল ফিল্মাস

1
এছাড়াও আপাত নকল দেখুন যুক্তিযুক্ত সংখ্যা তুলনা কিভাবে?
vzn

উত্তর:


5

আমার বর্তমান গবেষণা:

কিছু সাধারণ নিয়মে প্রাথমিক প্রচেষ্টা

যৌক্তিক তুলনা সমাধানের জন্য কেউ কিছু সাধারণ নিয়ম করার চেষ্টা করতে পারেন:

সমস্ত ধনাত্মক ধরে নিয়েছি :a,b,c,d

a<bcdab<cd
এর মূলত অর্থ, বাম দিকটি যদি একের চেয়ে কম হয় এবং ডান দিকটি কমপক্ষে একটি হয় তবে বাম দিকটি ডানদিকের চেয়ে কম পাশ। একই শিরা মধ্যে:

abcdabcd

অন্য নিয়ম:

(b>d)(ac)[ab<cd]
আমি এই নিয়মটিকে যৌক্তিক হিসাবে মনে করি, যেহেতু বৃহত্তর, সংখ্যার পরিমাণ কম, তবে বৃহত্তর সংখ্যা, বৃহত্তর সংখ্যা। সুতরাং বাম দিকের বৃহত্তর ডিনোমিনেটর এবং একটি ছোট সংখ্যা থাকলে বামটি আরও ছোট হবে।

এখান থেকে, আমরা ধরে নেব যে , কারণ অন্যথায় আমরা হয় এটি উপরের বিধিগুলি দিয়ে সমাধান করতে পারি, বা প্রশ্নটিকে উল্টাতে , এবং আমরা এই শর্তটি যেভাবেই শেষ করব।a<cb<dcd<?ab

বিধি : এটি নিয়মটি মূলত উল্লেখ করে যে আপনি সর্বদা ডিনোমিনেটরদের থেকে সংখ্যক বিয়োগ করতে পারেন এবং সমমানের সমস্যাটি পেতে ফলাফলকে সংখ্যক হিসাবে সেট করতে পারেন। আমি প্রমাণ ছেড়ে দেব।

(ba)b<(dc)d[ab<cd]|a<c,b<d

ab<cadb[ab<cd]|a<c,b<d

এই বিধি আপনাকে সমতুল্য সমস্যার জন্য ডান সংখ্যক এবং ডিনোমিনেটর থেকে বাম সংখ্যা এবং ডিনোমিনেটর বিয়োগ করতে দেয়।

এবং অবশ্যই এখানে স্কেলিং রয়েছে:

akbk<cd[ab<cd]|a<c,b<d
আপনি বিয়োগ বিধিগুলিকে আরও উল্লেখযোগ্য করে তুলতে স্কেলিং ব্যবহার করতে পারেন।

এই নিয়মগুলি ব্যবহার করে আপনি জিনিসগুলি নিয়ে প্রায় খেলতে পারেন, এগুলি বারবার প্রয়োগ করতে পারেন, স্মার্ট সংমিশ্রণে, তবে এমন ঘটনা রয়েছে যেখানে সংখ্যাগুলি নিকটে এবং প্যাথলজিকাল রয়েছে।

পূর্ববর্তী বিধি প্রয়োগ করে, আপনি এই সমস্ত সমস্যা হ্রাস করতে পারেন:

ab<ap+qbp+qab<qq|a>q,b>q

কখনও কখনও আপনি সরাসরি এখন এটি সমাধান করতে পারেন, কখনও কখনও না। রোগগত ক্ষেত্রে সাধারণত ফর্ম হয়:

ab<cd|a>c,b>d,cO(a),dO(b)

তারপরে আপনি এটিকে ফ্লিপ করুন এবং একই জিনিসটির ফলস্বরূপ, আরও খানিকটা কম। বিধিগুলির প্রতিটি প্রয়োগ + ফ্লিপ এটিকে একটি ডিজিট / বিট দ্বারা হ্রাস করে। আফিক্স, আপনি প্যাথলজিকাল ক্ষেত্রে বার (প্রতিটি অঙ্ক / বিটের জন্য একবার নিয়মগুলি প্রয়োগ না করে যদি না তবে তা দ্রুত সমাধান করতে পারবেন না theirO(n)

ওপেন সমস্যা ??

আমি বুঝতে পেরেছিলাম যে এই সমস্যাটি বর্তমানের কয়েকটি উন্মুক্ত সমস্যার তুলনায় শক্ত বলে মনে হচ্ছে।

এমনকি একটি দুর্বল সমস্যাটি নির্ধারণ করা:

ad=?bc

এবং এখনও দুর্বল:

ad=?c

এই খোলা সমস্যা গুণ যাচাই । এটি দুর্বল, কারণ আপনার যদি নির্ধারণের উপায় ছিল , তাহলে আপনি সহজেই নির্ধারণ করতে পারবেন , অ্যালগরিদম দু'বার ব্যবহার করে পরীক্ষা করে, , । যদি হয় সত্য, আপনি জানেন যে ।ad<?bcad=?bcad<?bcbc<?adadbc

এখন, একটি মুক্ত সমস্যা ছিল, কমপক্ষে 1986 সালে:ad=?c

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

- কম্পিউটেশনাল জটিলতার শর্তাবলী সমীকরণ সমাধানে আর্নল্ড স্ক্যানহেজ

খুব মজার বিষয় হচ্ছে, তিনি ম্যাট্রিক্সের গুণকে যাচাই করার প্রশ্নটি উল্লেখ করেছেন :

ম্যাট্রিক্সের গুণণের যাচাইকরণ, যেমন সি-এর জন্য AB = G রয়েছে কিনা তা দ্রুত পরীক্ষা করা সম্ভব কিনা তাও একটি আকর্ষণীয় প্রশ্ন।

- কম্পিউটেশনাল জটিলতার শর্তাবলী সমীকরণ সমাধানে আর্নল্ড স্ক্যানহেজ

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

যাইহোক, যেহেতু এটি এখনও আমার জ্ঞানের, একটি উন্মুক্ত সমস্যা, আরও শক্তিশালী সমস্যা অবশ্যই খোলা আছে। আমি উত্সাহী যদি সাম্যতা যাচাইকরণ সমস্যার সমাধানের তুলনা বৈষম্য যাচাইয়ের সমস্যার সাথে কোন প্রভাব ফেলতে পারে।ad<?cd

ভগ্নাংশগুলি সর্বনিম্ন শর্তে হ্রাস করার নিশ্চয়তা দিলে আমাদের সমস্যার সামান্যতম প্রকরণ হবে; tell কিনা তা বলা সহজ । হ্রাস ভগ্নাংশের জন্য তুলনা যাচাইয়ের সাথে এটির কোনও প্রভাব থাকতে পারে?ab=?cd

এমনকি একটি সূক্ষ্ম প্রশ্ন, আমাদের যদি পরীক্ষা করার উপায় থাকে , এটি কি পরীক্ষার জন্য প্রসারিত হবে ? আমি দেখতে পাচ্ছি না যে আপনি জন্য কীভাবে এই" দুটি উপায় "ব্যবহার করতে পারেন ।ad<?cad=?cad<?cd

সম্পর্কিত:

  • সসীম অটোম্যাটা দ্বারা অ-নিয়মিত ভাষার আনুমানিক স্বীকৃতি

    তারা আনুমানিক গুণিতকরণ এবং এলোমেলোভাবে যাচাইয়ের উপর কিছু কাজ করে যা আমি পুরোপুরি বুঝতে পারি না।

  • গণিত.এসই: গুণ না করে দুটি গুণকে কীভাবে তুলনা করব?
  • ধরুন আমরা preprocess করার অনুমতি দেওয়া হয়েছে যতটা হিসাবে আমরা বহুপদী সময় চেয়েছিলেন, আমরা সমাধান করতে পারে রৈখিক সময়?cab=c
  • লিনিয়ার-টাইম ননডেটার্মিস্টিক পূর্ণসংখ্যার গুণ গুণক অ্যালগরিদম আছে? Http://compgroups.net/comp.theory/nondeteristicic-linear-time-multplication/1129399 দেখুন

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

    আরও স্পষ্টভাবে, এমন একটি অ্যালগরিদম আছে যা দুটি এন-বিট বাইনারি সংখ্যা "ক" এবং "বি" এবং একটি 2 এন-বিট সংখ্যা "সি" গ্রহণ করতে পারে এবং ও (এন) সময়ে আপনাকে বলতে পারে "a * b = c" কিনা? যদি তা না হয় তবে শংসাপত্রের সি (ক, খ, সি) এর মতো অন্য কোনও রূপ রয়েছে যা কোনও অ্যালগোরিদম লিনিয়ার সময়ে পণ্যটি পরীক্ষা করতে ব্যবহার করতে পারে? লিনিয়ার সময় না হলে, পণ্যটি পরীক্ষা করার সমস্যাটি কমপক্ষে কমপিটিকের তুলনায় কমপিটিকভাবে সহজ? এই লাইন বরাবর যে কোনও পরিচিত ফলাফল স্বাগত হবে।

    জন।

    -johnh4717


1

এখানে অসম্মতিতে খুব আংশিক চেষ্টা করা হয়েছে। মনে করুন যে আমরা আমাদের সিদ্ধান্ত গ্রহণকারীর মধ্যে কেবলমাত্র (ধীরে ধীরে সংখ্যক) সংযোজন এবং বিয়োগগুলি ব্যবহার করতে পারি, পাশাপাশি ধ্রুবক ined আর্ট পূর্বনির্ধারিত সংখ্যারও করতে পারি। অন্য কথায়, আমরা আমাদের নির্ধারকটিতে নিয়মিত সংখ্যা , ইত্যাদি করতে পারি , তারপরে আমরা যে পরিমাণ পরিমান গণনা করতে পারি তা যেখানে গুলি পূর্বনির্ধারিত স্থির হয়। নোট করুন যে সময়ে গণনা করা যেতে পারে ।modmod 2mod 3q=k1a+k2b+k3c+k4d=kiakqO(|a|)

কিছুটা নির্ধারণ করার জন্য এই সিদ্ধান্তকটি সম্পাদনা করে আইফএফ । কে পয়েন্ট হিসাবে বিবেচনা করুন । বিট এর অবস্থানটি পৃষ্ঠতলের দ্বারা নির্ধারিত হয় যা 4 মাত্রায় হাইপারবোলয়েড। যদি আমাদের ইনপুট স্পেসে একটি বিন্দু থাকে তবে উপরের এই ইনপুট পয়েন্টের একটি সীমিত দূরত্বে পয়েন্টগুলি গণনা করতে পারে, অর্থাৎ points পয়েন্টগুলি ইত্যাদি এটি 4 ডি স্পেসে একটি কিউবয়েডকে সংজ্ঞায়িত করে।ডি > বি সি , বি , সি , ডি আর বি ডি = বি সি ( , বি , সি , ডি ) Q : | q - a | = কে 1 ,B:B=1ad>bca,b,c,dR4Bad=bc(a,b,c,d)q:|qa|=k1,

(কীভাবে এটি আরও সুনির্দিষ্ট করা যায়?) কিউবয়েড থেকে পৃষ্ঠের দূরত্বটি সাধারণভাবে আনবাউন্ডেড হয়, এবং সুতরাং পৃষ্ঠটি নির্ধারক দ্বারা গণনা করা যায় না


দুঃখিত আমি এর কোন প্রতিক্রিয়া জানাই নি। আমি মনে করি এটি কেবল আমার বোধগম্যতার andর্ধ্বে হতে পারে এবং এর মধ্যে আমি নিজেই সম্ভাব্য উত্তরগুলি নিয়ে গবেষণা করতে ব্যস্ত হয়েছি।
রিয়েলজ স্লাও

1

ভাল প্রশ্ন. আপনি কি আত্মবিশ্বাসের স্তরটি গ্রহণ করবেন?

সম্ভবত আনুমানিক বিভাজন। অর্থাত

একটি / বি এর সীমাবদ্ধ আনুমানিক উদ্ধৃতিগুলি গণনা করতে ডানদিকে সিল (লগ_2 (বি)) এবং তল দ্বারাও (লগ_2 (বি)) সরিয়ে নিন। তারপরে আমরা জানি যে সঠিক ভাগফলটি এই দুটি মানের মধ্যে।

তারপরে, চারটি পূর্ণসংখ্যার আপেক্ষিক আকারের উপর নির্ভর করে কেউ নির্দিষ্ট কিছু ক্ষেত্রে রায় দিতে সক্ষম হতে পারে এবং 100% আত্মবিশ্বাস অর্জন করতে পারে।

কেউ মূলত 2 এর পরিবর্তে রেডিক্সের পদ্ধতির পুনরাবৃত্তি করতে পারে এবং এই জাতীয় ক্রিয়াকলাপের ফলে একের পর এক আত্মবিশ্বাসের মাত্রা বৃদ্ধি পায়, যতক্ষণ না সাইন / টাই-ব্রেকের পরিবর্তনটি কোনওভাবে পর্যবেক্ষণ করা হয়?

এটি কোনও পদ্ধতির আমার প্রথম খসড়া স্কেচ।


আপনি যদি আমার "বর্তমান গবেষণা" উত্তরটি লক্ষ্য করেন তবে আমি মনে করি যে এই বিধিগুলি এই প্রভাবটির জন্য কিছু করে। আপনি চালিয়ে যেতে পারেন, এটি প্রথম নিয়মের কোনওটিতে আঘাত পেলে অনেক সময় 100% আত্মবিশ্বাস অর্জন করে এবং সবচেয়ে খারাপভাবে, আপনি পরের নিয়মগুলিকে পুনরাবৃত্তি করে চলেছেন এবং প্রতিটি রাউন্ডকে কিছুটা মুছে ফেলছেন, অনুরূপভাবে আপনি যা পরামর্শ দিচ্ছেন, আমি মনে করি। তবে, আমার প্রশ্নটি (বা বরং গুণনের চেয়ে আরও ভাল, এই প্রশ্নটিও সন্তুষ্ট করবে), বা কমপক্ষে কিছুটা ক্ষুদ্র সম্ভাবনার সাথে কমপক্ষে এলোমেলোভাবে অ্যালগরিদম সম্পর্কে নির্দিষ্ট কিছু সম্পর্কে is ব্যর্থতা ( এন লগ এন )O(n)O(nlogn)
রিয়েলজ স্লাও

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

1

[ব্যয়বহুল] গুণগুলি প্রিফাম না করে কোনও বিজ্ঞাপন <সিবি সিদ্ধান্ত নেওয়ার কোনও উপায় আছে?

অবশ্যই।

আইডিয়া: দশমিক প্রসারকে কিছুটা হলেও তুলনা করুন।

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

এই বিবেচনা:

def less( (a,b), (c,d) ) = {
  // Compare integer parts first
  intA = a div b
  intC = c div d

  if intA < intB
    return True
  else if intA > intB
    return False
  else // intA == intB
    // Normalize to a number in [0,1]
    a = a mod b
    c = c mod d

    // Check for equality by reducing both
    // fractions to lowest terms
    (a,b) = lowestTerms(a,b)
    (c,d) = lowestTerms(c,d)

    if a == c and b == d
      return False
    else
      do
        // Compute next digits in decimal fraction 
        a = 10 * a
        c = 10 * c

        intA = a div b
        intC = c div d

        // Remove integer part again
        a = a mod b
        c = c mod d
      while intA == intC

      return intA < intC
    end
  end
}

নোট করুন যে do-whileসংখ্যাগুলি অসম হওয়ায় লুপটি শেষ করতে হবে। আমরা জানি না এটি কত দিন চলে runs যদি সংখ্যাগুলি খুব কাছাকাছি হয় তবে এটি একটি সময় হতে পারে।

স্পষ্টতই, ব্যয়বহুল গুণগুলি নেই; আমাদের কেবলমাত্র প্রয়োজন দ্বারা মনোনীতদের গুণ করা । বিশেষত, আমরা এবং পরিষ্কারভাবে গণনা করা এড়িয়ে ।ডি সি 10adcb

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


সহায়ক পদ্ধতি:

def lowestTerms(a,b) = {
  d = gcd(a,b)
  if d == 1
    return (a,b)
  else
    return lowestTerms(a div d, b div d)
  end
}

আমি মনে করি না এটি প্রশ্নের উদ্বেগের মধ্যে রয়েছে। কম্পিউটিং এবং অধিকার শুরুতে ইতিমধ্যে কম্পিউটিং যতটা সময় হিসাবে লাগে এবং প্রশ্নে, এবং প্রশ্ন ইতিমধ্যে ছাড়া ... multiplications (অথবা বিভাগের) বলেন ", এবং "। এটি লিনিয়ার সময় অ্যালগরিদমও জিজ্ঞাসা করে, যা আমি অনুমান করছি এটি কিছুটা সময়ের জন্য চলমান লুপ সম্পর্কে আপনার মন্তব্যের ভিত্তিতে নয়। সি / ডি ডি বি সি ডি সি বিa/bc/dadbcadcb
ডেভিড রিচার্বি

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