প্ল্যাচন অ্যান্ড ডারবউক্স এবং ওয়াং এবং লিউর ডিপ্রেশন পূরণের অ্যালগরিদমগুলির মধ্যে কি পার্থক্য রয়েছে? গতি ছাড়া আর কি?


11

সত্যিকারের বিশ্লেষণাত্মক অভিজ্ঞতার ভিত্তিতে কেউ কি আমাকে বলতে পারবেন, যদি এই দুটি ডিপ্রেশন পূরণের অ্যালগরিদমগুলির মধ্যে পার্থক্য থাকে, অন্যদিকে যেগুলি তারা গতিতে গতিবেগ করে এবং ডিইএমসে হতাশাগুলি (ডুবে) পূরণ করে?

ডিজিটাল উচ্চতা মডেলগুলির নিম্নচাপগুলি পূরণ করার জন্য একটি দ্রুত, সহজ এবং বহুমুখী অ্যালগরিদম

অলিভিয়ার প্ল্যাঞ্চন, ফ্রেডেরিক ডারবক্স

এবং

হাইড্রোলজিক বিশ্লেষণ এবং মডেলিংয়ের জন্য ডিজিটাল উচ্চতা মডেলগুলিতে পৃষ্ঠের নিম্নচাপ চিহ্নিতকরণ এবং পূরণের একটি কার্যকর পদ্ধতি

ওয়াং এবং লিউ

ধন্যবাদ।

উত্তর:


12

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

ভরাট ডিইএমগুলিতে উচ্চতার পার্থক্য

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

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

চিয়ার্স,

জন


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

1
+1 এটির মতো একটি তথ্যবহুল, চিন্তাশীল, জ্ঞানীয় উত্তর পড়তে পেরে আনন্দিত।
হোবার

5

আমি আমার নিজের প্রশ্নের উত্তর দেওয়ার চেষ্টা করব - dun dun dun।

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

ওয়াটারশেড শেফফাইলগুলি ইউএসজিএস ব্যবহার করে মোসিকেড এনইডি 30 মিটার ডেটা ক্লিপ করে জলাশয় ডেমগুলি উত্পাদিত হয়েছিল। প্রতিটি বেস ডিএম জন্য, দুটি সরঞ্জাম চালানো হয়েছিল; প্রতিটি সরঞ্জামের জন্য একটিমাত্র বিকল্প রয়েছে, সর্বনিম্ন প্রয়োগকৃত opeাল, যা উভয় সরঞ্জামে 0.01 এ সেট করা হয়েছিল।

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

পার্থক্য বা পার্থক্যের অভাব উপস্থাপন করা চিত্রগুলি (মূলত গণনা করা পার্থক্য রাস্টার) নীচে উপস্থাপন করা হয়েছে। পার্থক্যের গণনা করতে ব্যবহৃত সূত্রটি হ'ল: ((PD_Filled - WL_Filled) / PD_Filled) * 100) - কোষের ভিত্তিতে কোষের শতাংশের পার্থক্য দিন। বর্ণের ধূসর কোষগুলি এখন পার্থক্য দেখায়, রঙে কোষগুলিকে লাল করে ফলে পিডি উচ্চতা আরও বেশি ছিল এবং কোষগুলি সবুজ বর্ণের ফলে ডাব্লুএল উচ্চতা আরও ছিল indic

1 ম ওয়াটারশেড: ক্লিয়ার ওয়াটারশেড, ওয়াইমিং এখানে চিত্র বর্ণনা লিখুন

এই চিত্রগুলির জন্য কিংবদন্তি এখানে:

এখানে চিত্র বর্ণনা লিখুন

পার্থক্য কেবল -0.0915% থেকে + 0.0910% পর্যন্ত range চ্যানেলগুলিতে ডাব্লুএল অ্যালগরিদম কিছুটা উঁচুতে এবং পিডি স্থানীয়ীকৃত শিখরের চারপাশে কিছুটা উঁচুতে পার্থক্যগুলি শিখর এবং সংকীর্ণ স্ট্রিম চ্যানেলগুলির আশেপাশে নিবদ্ধ বলে মনে হচ্ছে।

ওয়াটারশেড, ওয়াইমিং, জুম 1 এখানে চিত্র বর্ণনা লিখুন

ওয়াটারশেড, ওয়াইমিং, জুম 2 সাফ করুন এখানে চিত্র বর্ণনা লিখুন

২ য় জলাশয়: উইনিপেসকি নদী, এনএইচ

এখানে চিত্র বর্ণনা লিখুন

এই চিত্রগুলির জন্য কিংবদন্তি এখানে:

এখানে চিত্র বর্ণনা লিখুন

উইনিপেসকি নদী, এনএইচ, জুম ১

এখানে চিত্র বর্ণনা লিখুন

পার্থক্য কেবল -0.323% থেকে + 0.315% পর্যন্ত range চ্যানেলগুলিতে ডাব্লুএল অ্যালগরিদম কিছুটা উঁচুতে এবং পিডি স্থানীয়ীকৃত শিখরের চারপাশে কিছুটা উঁচুতে পার্থক্যগুলি শিখর এবং সংকীর্ণ স্ট্রিম চ্যানেলের আশেপাশে কেন্দ্রীভূত বলে মনে হয়।

সুউওও, ভাবনা? আমার কাছে, পার্থক্যগুলি তুচ্ছ বলে মনে হচ্ছে সম্ভবত আরও গণনাগুলিকে প্রভাবিত করবে না; কেউ রাজি? এই ছয়টি জলাশয়ের জন্য আমি আমার ওয়ার্কফ্লো সম্পূর্ণ করে পরীক্ষা করছি am

সম্পাদনা করুন: আরও তথ্য। দেখে মনে হয় যে ডাব্লুএল অ্যালগরিদম বিস্তৃত কম স্বতন্ত্র চ্যানেলগুলির দিকে নিয়ে যায় যা উচ্চ টপোগ্রাফিক সূচক মানগুলি (আমার চূড়ান্ত ডেরাইভেটিভ ডেটা সেট) তৈরি করে। নীচে বাম চিত্রটি পিডি অ্যালগরিদম, ডানদিকে চিত্রটি ডাব্লুএল অ্যালগরিদম।

এখানে চিত্র বর্ণনা লিখুন

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

এখানে চিত্র বর্ণনা লিখুন

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

এখানে চিত্র বর্ণনা লিখুন

সুতরাং, পার্থক্যগুলি যদিও সামান্য, অতিরিক্ত বিশ্লেষণের মাধ্যমে সূচিত হবে বলে মনে হয়।

যদি কেউ আগ্রহী হন তবে এখানে আমার পাইথন লিপিটি রয়েছে:

#! /usr/bin/env python

# ----------------------------------------------------------------------
# Create Fill Algorithm Comparison
# Author: T. Taggart
# ----------------------------------------------------------------------

import os, sys, subprocess, time



# function definitions
def runCommand_logged (cmd, logstd, logerr):
    p = subprocess.call(cmd, stdout=logstd, stderr=logerr)
# ----------------------------------------------------------------------


# ----------------------------------------------------------------------
# environmental variables/paths
if (os.name == "posix"):
    os.environ["PATH"] += os.pathsep + "/usr/local/bin"
else:
    os.environ["PATH"] += os.pathsep + "C:\program files (x86)\SAGA-GIS"
# ----------------------------------------------------------------------


# ----------------------------------------------------------------------
# global variables

WORKDIR    = "D:\TomTaggart\DepressionFillingTest\Ran_DEMs"

# This directory is the toplevel directoru (i.e. DEM_8)
INPUTDIR   = "D:\TomTaggart\DepressionFillingTest\Ran_DEMs"

STDLOG     = WORKDIR + os.sep + "processing.log"
ERRLOG     = WORKDIR + os.sep + "processing.error.log"
# ----------------------------------------------------------------------


# ----------------------------------------------------------------------
# open logfiles (append in case files are already existing)
logstd = open(STDLOG, "a")
logerr = open(ERRLOG, "a")
# ----------------------------------------------------------------------


# ----------------------------------------------------------------------
# initialize
t0      = time.time()
# ----------------------------------------------------------------------


# ----------------------------------------------------------------------
# loop over files, import them and calculate TWI

# this for loops walks through and identifies all the folder, sub folders, and so on.....and all the files, in the directory
# location that is passed to it - in this case the INPUTDIR
for dirname, dirnames, filenames in os.walk(INPUTDIR):
    # print path to all subdirectories first.
    #for subdirname in dirnames:
        #print os.path.join(dirname, subdirname)

    # print path to all filenames.
    for filename in filenames:
        #print os.path.join(dirname, filename)
        filename_front, fileext = os.path.splitext(filename)
        #print filename
        if filename_front == "w001001":
        #if fileext == ".adf":


            # Resetting the working directory to the current directory
            os.chdir(dirname)

            # Outputting the working directory
            print "\n\nCurrently in Directory: " + os.getcwd()

            # Creating new Outputs directory
            os.mkdir("Outputs")

            # Checks
            #print dirname + os.sep + filename_front
            #print dirname + os.sep + "Outputs" + os.sep + ".sgrd"

            # IMPORTING Files
            # --------------------------------------------------------------
            cmd = ['saga_cmd', '-f=q', 'io_gdal', 'GDAL: Import Raster',
                   '-FILES', filename,
                   '-GRIDS', dirname + os.sep + "Outputs" + os.sep + filename_front + ".sgrd",
                   #'-SELECT', '1',
                   '-TRANSFORM',
                   '-INTERPOL', '1'
                  ]

            print "Beginning to Import Files"

            try:
                runCommand_logged(cmd, logstd, logerr)

            except Exception, e:
                logerr.write("Exception thrown while processing file: " + filename + "\n")
                logerr.write("ERROR: %s\n" % e)

            print "Finished importing Files"

            # --------------------------------------------------------------


            # Resetting the working directory to the ouputs directory
            os.chdir(dirname + os.sep + "Outputs")



            # Depression Filling - Wang & Liu
            # --------------------------------------------------------------
            cmd = ['saga_cmd', '-f=q', 'ta_preprocessor', 'Fill Sinks (Wang & Liu)',
                   '-ELEV', filename_front + ".sgrd",
                   '-FILLED',  filename_front + "_WL_filled.sgrd",  # output - NOT optional grid
                   '-FDIR', filename_front + "_WL_filled_Dir.sgrd",  # output - NOT optional grid
                   '-WSHED', filename_front + "_WL_filled_Wshed.sgrd",  # output - NOT optional grid
                   '-MINSLOPE', '0.0100000', 
                               ]

            print "Beginning Depression Filling - Wang & Liu"

            try:
                runCommand_logged(cmd, logstd, logerr)

            except Exception, e:
                logerr.write("Exception thrown while processing file: " + filename + "\n")
                logerr.write("ERROR: %s\n" % e)

            print "Done Depression Filling - Wang & Liu"


            # Depression Filling - Planchon & Darboux
            # --------------------------------------------------------------
            cmd = ['saga_cmd', '-f=q', 'ta_preprocessor', 'Fill Sinks (Planchon/Darboux, 2001)',
                   '-DEM', filename_front + ".sgrd",
                   '-RESULT',  filename_front + "_PD_filled.sgrd",  # output - NOT optional grid
                   '-MINSLOPE', '0.0100000',
                               ]

            print "Beginning Depression Filling - Planchon & Darboux"

            try:
                runCommand_logged(cmd, logstd, logerr)

            except Exception, e:
                logerr.write("Exception thrown while processing file: " + filename + "\n")
                logerr.write("ERROR: %s\n" % e)

            print "Done Depression Filling - Planchon & Darboux"

            # Raster Calculator - DIff between Planchon & Darboux and Wang & Liu
            # --------------------------------------------------------------
            cmd = ['saga_cmd', '-f=q', 'grid_calculus', 'Grid Calculator',
                   '-GRIDS', filename_front + "_PD_filled.sgrd",
                   '-XGRIDS', filename_front + "_WL_filled.sgrd",
                   '-RESULT',  filename_front + "_DepFillDiff.sgrd",      # output - NOT optional grid
                   '-FORMULA', "(((g1-h1)/g1)*100)",
                   '-NAME', 'Calculation',
                   '-FNAME',
                   '-TYPE', '8',
                               ]

            print "Depression Filling - Diff Calc"

            try:
                runCommand_logged(cmd, logstd, logerr)

            except Exception, e:
                logerr.write("Exception thrown while processing file: " + filename + "\n")
                logerr.write("ERROR: %s\n" % e)

            print "Done Depression Filling - Diff Calc"

# ----------------------------------------------------------------------


# ----------------------------------------------------------------------
# finalize
logstd.write("\n\nProcessing finished in " + str(int(time.time() - t0)) + " seconds.\n")
logstd.close
logerr.close

# ----------------------------------------------------------------------

আপনি কি এই সমস্যা সম্পর্কিত সাগা রক্ষণাবেক্ষণকারীদের সাথে যোগাযোগ করেছিলেন?
রিমা

3

একটি অ্যালগরিদমিক স্তরে, দুটি অ্যালগরিদম একই ফলাফল তৈরি করবে।

কেন আপনার পার্থক্য হতে পারে?

তথ্য উপস্থাপনা

যদি আপনার floatকোনও একটি অ্যালগরিদম ব্যবহার করে (32-বিট) এবং অন্য ব্যবহার করে double(64-বিট), আপনি তাদের একই ফলাফলটি আশা করবেন না। একইভাবে, কিছু বাস্তবায়ন ভাসমান-বিন্দু মানের প্রতিনিধিত্ব করে পূর্ণসংখ্যার ডেটা টাইপ ব্যবহার করে, যার ফলে তফাতও হতে পারে।

নিকাশী প্রয়োগ

যাইহোক, উভয় অ্যালগরিদম সমতল অঞ্চল উত্পাদন করবে যা প্রবাহের দিকনির্দেশ নির্ধারণের জন্য স্থানীয়করণ পদ্ধতি ব্যবহার করা হলে নিষ্কাশন করবে না।

প্ল্যাঞ্চন এবং ডারবাক্স নিকাশী কার্যকর করার জন্য সমতল অঞ্চলের উচ্চতায় একটি সামান্য বৃদ্ধি যোগ করে এটিকে সম্বোধন করে। যেমন বার্নস এট আল-তে আলোচনা হয়েছে। (২০১৪) এর কাগজ "রাস্টার ডিজিটাল এলিভেশন মডেলগুলিতে সমতল পৃষ্ঠের উপরে নিকাশীর দিকনির্দেশের কার্যকর কার্যনির্বাহী" এই বর্ধিতকরণের সংযোজন প্রকৃতপক্ষে ফ্ল্যাট ক্ষেত্রের বাইরের নিকাশিকে অপ্রাকৃতিকভাবে পুনরায় প্রসারণ করতে পারে যদি বর্ধন খুব বেশি হয়। একটি সমাধান ব্যবহার করা হয়, যেমন, nextafterফাংশন।

অন্যান্য চিন্তা

ওয়াং এবং লিউ (২০০)) আমার অগ্রাধিকার-বন্যার অ্যালগরিদমের একটি বৈকল্পিক, যেমনটি আমার গবেষণাপত্রে আলোচনা করা হয়েছে "অগ্রাধিকার-বন্যা: ডিজিটাল উচ্চতা মডেলের জন্য একটি অনুকূল ডিপ্রেশন-ফিলিং এবং ওয়াটারশেড-লেবেলিং অ্যালগরিদম"

অগ্রাধিকার-বন্যার পূর্ণসংখ্যা এবং ভাসমান-পয়েন্ট উভয় ডেটার জন্য সময়ের জটিলতা রয়েছে। আমার কাগজে, আমি লক্ষ করেছি যে অগ্রাধিকারের কাতারে ঘর স্থাপন এড়ানো অ্যালগরিদমের কার্যকারিতা বাড়ানোর একটি ভাল উপায় ছিল। অন্যান্য লেখক যেমন ঝো এট আল। (2016) এবং ওয়েই এট আল। (2018) অ্যালগরিদমের কার্যকারিতা আরও বাড়ানোর জন্য এই ধারণাটি ব্যবহার করেছে। এই সমস্ত অ্যালগোরিদমের সোর্স কোড এখানে উপলভ্য ।

এটি মাথায় রেখে প্ল্যানচোন অ্যান্ড ডারবক্স (2001) অ্যালগরিদম এমন একটি জায়গার গল্প যেখানে বিজ্ঞান ব্যর্থ হয়েছিল। যদিও অগ্রাধিকার-বন্যা কাজ হে (ঢ) পূর্ণসংখ্যা ডেটা এবং সময় হে (n log n) ফ্লোটিং পয়েন্ট ডেটা সময়, মু & ডি হে কাজ করে (এন 1.5 ) সময়। এটি একটি বিশাল পারফরম্যান্স পার্থক্যে অনুবাদ করে যা ডেমের আকারের সাথে তাত্পর্যপূর্ণভাবে বৃদ্ধি পায়:

জেনসন এবং ডোমিংয়ে বনাম প্ল্যাঞ্চন এবং ডারবক্স বনাম ওয়াং এবং লিউ অগ্রাধিকার-বন্যার হতাশা পূরণের জন্য

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

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