প্রায় সহজ-সরল বহুভুজ দুটি ধরণের সনাক্তকরণ


22

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

  • Pp0,p1,p2,,pn1pipipi+1modn

  • একটি বহুভুজ সরল যদি সমস্ত টি উল্লম্ব হয় এবং প্রান্তগুলি কেবল তাদের প্রান্তে ছেদ করে। সমানভাবে, বহুভুজটি সহজ যদি এটি একটি বৃত্তের হোমিওমোরিক হয় এবং প্রতিটি প্রান্তের ইতিবাচক দৈর্ঘ্য থাকে। সাধারণভাবে, তবে, বহুভুজের শীর্ষে এবং প্রান্তগুলি নির্বিচারে ছেদ করতে পারে, বা এমনকি একসাথে মিলতে পারে। 1n

  • দুটি ও বহুভুজীয় পাথ বিবেচনা করুন যা এবং এর ছেদ দুটিই একটি সাধারণ উপপথ (সম্ভবত একক পয়েন্ট)। আমরা যে এবং ক্রস যদি তাদের এন্ড পয়েন্ট সাধারণ subpath একটি আশপাশ সীমানা উপর বিকল্প । একটি বহুভুজের মধ্যে দুটি ক্রসিং সাবপাথ এবং অন্যথায় স্ব-ক্রসিং থাকলে একটি বহুভুজটি স্বয়ং-ক্রসিং হয়। 2ABAB A(0),B(0),A(1),B(1)AB

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

উদাহরণস্বরূপ, নীচে প্রদর্শিত ছয়টি পয়েন্ট ।a,b,p,q,x,y

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

  • বহুভুজ সহজ; বাম চিত্র দেখুন।abpqyz

  • বহুভুজ papbpqyqzq দুর্বলভাবে সহজ; মাঝের চিত্রটি কাছাকাছি একটি সাধারণ বহুভুজ দেখায়। যাইহোক, এই বহুভুজ না সহজ, কারণ এটি পরিদর্শন হয় p তিনবার।

  • বহুভুজ স্ব-ক্রসিং, কারণ উপপথগুলি b p q z এবং y q p একটি ক্রস। কিছু অন্তর্দৃষ্টি জন্য সঠিক চিত্র দেখুন।papbpqzqyqbpqzyqpa

  • অবশেষে, বহুভুজ (যা দুইবার প্রায় মধ্যম বহুভুজ বাতাস) অ স্ব-ক্রসিং, কিন্তু এটা হয় না স্বাস্থ্যহীন সহজ। Intuitively, বাঁক সংখ্যা এই বহুভুজ হয় ± 2 , যখন কোনো সহজ বহুভুজ এর বাঁক সংখ্যা হতে হবে ± 1 । (একটি আনুষ্ঠানিক প্রমাণের জন্য কিছু ক্ষেত্রে বিশ্লেষণ প্রয়োজন, কারণ ঘুরানো সংখ্যাটি 0 কোণগুলির সাথে বহুভুজগুলির পক্ষে আসলে ভালভাবে সংজ্ঞায়িত হয় না !)papbpqyqzqpapbpqyqzq±2±10

আপডেট (সেপ্টেম্বর 13): নীচে বহুভুজ চিত্রে অ স্ব-ক্রসিং হয় এবং 1 নম্বর বাঁক করেছে , কিন্তু এটা স্বাস্থ্যহীন সহজ নয়। বহুভুজের পক্ষে যুক্তিযুক্তভাবে বেশ কয়েকটি ক্রসিং অ-সিম্পল সাবওয়াক রয়েছে , তবে এটির কোনও ক্রসিং সহজ সাবপথ নেই । (আমি "তর্কসাপেক্ষভাবে" বলছি কারণ দু'জন সহজ-সরল পদচারণা যখন পার হয় তখন কীভাবে সংজ্ঞা দেওয়া যায় তা অস্পষ্ট!)abcabcxyzxpqrxzyx

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

সুতরাং অবশেষে, আমার আসল প্রশ্নগুলি এখানে:

  • প্রদত্ত বহুভুজটি স্ব-ক্রসিং কিনা তা আমরা কত তাড়াতাড়ি নির্ধারণ করতে পারি?

  • প্রদত্ত বহুভুজ দুর্বলভাবে সহজ কিনা তা আমরা কত তাড়াতাড়ি নির্ধারণ করতে পারি?

নিম্নলিখিত সমস্যাটি সময়ে প্রথম সমস্যার সমাধান করা যেতে পারে । যেহেতু n টির দ্বিখণ্ডিত রয়েছে, তাই ( এন 2 ) শীর্ষবিন্দু থেকে ভার্টেক্স সাবপ্যাথ রয়েছে; আমরা পরীক্ষা করতে পারি যে কোনও নির্দিষ্ট সাবপাথ হে ( এন 2 ) সময়ে (ব্রুট ফোর্স দ্বারা ) সহজ কিনা । প্রতিটি ভার্টেক্স-টু-ভার্টেক্স সাবপ্যাথগুলির প্রতিটি জোড়ার জন্য, আমরা ( এন ) সময়ে ক্রস করে কিনা তা পরীক্ষা করতে পারি । তবে এটি সেরা সম্ভাব্য অ্যালগরিদম হতে পারে নাO(n5)nO(n2)O(n2)O(n)

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

আমরা নির্ধারণ করতে পারেন একটি প্রদত্ত বহুভুজ কিনা সহজ মধ্যে , অথবা ছেদ জন্য প্রান্ত প্রতিটি যুগল চেক করে সময় হে ( লগ ইন করুন এন ) সময় একটি প্রমিত sweepline অ্যালগোরিদম ব্যবহার করে, অথবা এমনকি এ হে ( ) সময় Chazelle এর ব্যবহার ত্রিভঙ্গীকরণ অ্যালগরিদম। (যদি ইনপুট বহুভুজটি সহজ না হয় তবে কোনও ত্রিভুজ্যরণ অ্যালগরিদম হয় একটি ব্যতিক্রম, অসীম লুপ ফেলে দেয় বা আউটপুট উত্পাদন করে যা বৈধ ত্রিভুজ নয়)) তবে এই অ্যালগরিদমের কোনওটিই আমি যে সমস্যার বিষয়ে জিজ্ঞাসা করছি তা সমাধান করে না। O(n2)O(nlogn)O(n)


1 ব্র্যাঙ্কো গ্রানবাউম। বহুভুজ: মিস্টার সঠিক ছিল এবং পিনসোট ভুল ছিল তবে প্রচলিত ছিলবিট্রেজ জুর বীজগণিত এবং জ্যামিতি 53 (1): 57–71, 2012।

2 দেখুন, উদাহরণস্বরূপ: এরিক ডি ডামাইন এবং জোসেফ ও'রউর্ক। জ্যামিতিক ভাঁজ অ্যালগরিদম: লিঙ্কেজ, অরিগামি, পলিহেড্রা । কেমব্রিজ বিশ্ববিদ্যালয় প্রেস, 2007


আমি বুঝতে পারছি না যে কেউ এই প্রশ্নটিকে কেন ভোট দেবে ?!
কাভেহ

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

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

1
@ জোফিজসিমসনস: ইনপুটটি পয়েন্টগুলির একমাত্র ক্রম (যেমন, আসল সংখ্যার জোড়া), যা আলাদা হওয়ার দরকার নেই। ইনপুট আকার এই ক্রমের দৈর্ঘ্য , অনন্য পয়েন্টের সংখ্যা নয়n
জেফি

2
@ কাভেঃ সম্ভবত খুব বিমূর্ত / বিশেষায়িত? অনেক শব্দ? গা, কা, না, টা, টিন, খট পয়েন্টের নাম দেওয়া উচিত ছিল ?
জেফি

উত্তর:


2

দেখে মনে হচ্ছে প্রথম প্রশ্নের একটি অ্যালগরিদম রয়েছে (যদিও এটি সম্ভবত অনুকূলও নয়)। ধরে নেওয়া হচ্ছে যে এখানে একটি ক্রসিং রয়েছে, এটির সন্ধানের মূল চাবিকাঠিটি মনে হয় যে প্রান্তগুলি অবশ্যই খুঁজে পাওয়া উচিত তা সাধারণ সাবপাথের উভয় পাশের সাথে সাথেই। অতএব, আমরা প্রান্তের টানা জোড়ায় সব জোড়া তাকান। এগুলির একটি চতুর্ভুজ সংখ্যা রয়েছে। আমরা ছেদচিহ্ন সঙ্গে প্রান্ত জোড়া একজোড়া খুঁজে পান, তাহলে একটি এবং যেমন প্রান্ত যে এবং একই, তাহলে আমরা শেষ সাধারণ subpath অনুসরণ কর এবং প্রান্ত এটি ছেড়ে পরিদর্শন। যদি তারা বরাবর একটি ক্রসিং গঠনO(n3)abcdefbcef এবং ডি , তারপরে আমাদের হয়ে গেল, অন্যথায় আমরা পরের জোড়ায় যাব। সাধারণ সাবপথ অনুসরণ করা বেশিরভাগ ক্ষেত্রে একটি রৈখিক-সময় অপারেশন, সুতরাং পুরো অ্যালগরিদম হল( এন 3 )abdeO(n3)

এই বিশ্লেষণ সম্ভবত সংক্ষিপ্ত নয় যেহেতু লিনিয়ার-দৈর্ঘ্যের সাধারণ উপপথটি যতবার অনুসরণ করা হবে জোড় জোড় সংখ্যায় লিনিয়ার নয়। তাদের শুধুমাত্র একটি ধ্রুবক সংখ্যা থাকা উচিত। একইভাবে, যদি দীর্ঘতম সাধারণ সাবপথের দৈর্ঘ্য অবিচ্ছিন্ন থাকে, তবে আমরা সাধারণ সাবপথগুলি অনুসরণ করে সময়ের পরিমাণের দিক থেকে ঠিক আছি। আমি আশা করব যে যখন দৈর্ঘ্যের হে ( √) এর একক উপপথ থাকবে তখন সবচেয়ে খারাপ পরিস্থিতি দেখা দেয় যা( ) এরকাছে সাধারণO(n)সাবপথগুলি। তারপরে(এন)ইন্টারঅ্যাকশন এবং প্রতিটি মিথস্ক্রিয়ায়( ) রয়েছেO(n)O(n)প্রান্তগুলি অনুসরণ করা হচ্ছে। তবুও এখনও, অনুসরণ করা প্রান্তগুলি হ'লo(n2), এবংজোড় সংখ্যারদ্বারা আবদ্ধ হয়। সুতরাং আমি অনুমান করব যে এই অ্যালগরিদমের জন্য আসল বাঁধাই হলহে(এন2)O(n)o(n2)O(n2)


1
"সাধারণ সাবপথ অনুসরণ করা বেশিরভাগ ক্ষেত্রেই রৈখিক সময়ের অপারেশন ..." এটি কি সত্য? মনে রাখবেন সাবপাথগুলি অভিন্ন নয়। একজন অন্যের চিত্রের সাথে পিছনে পিছনে ভাঁজ হতে পারে। আসলে, যখন আপনি জানেন যে আপনার কাজ শেষ হয়েছে তখন এটি (আমার কাছেও) পরিষ্কার নয়।
প্যাট মরিন

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

@ ক্রিসগ্রা: সম্ভবত, তবে আপনার প্রস্তাব মতো খুব সহজে নয় not তাহলে ভাবমূর্তি একটি গাছ, তারপর যাও recursively eliding হয় সব switchbacks অবশেষে হ্রাস পি একটি একক বিন্দু। PP
জেফি

হ্যাঁ, আপনি ঠিক বলেছেন, এই ধারণাটি কার্যকর হবে না। আপনি উপরে প্রদত্ত ডান দিকের চিত্রটি একক পয়েন্টে হ্রাস পাবে।
ক্রিস গ্রে

আমি অনুগ্রহের মেয়াদ শেষ হওয়ার পরিকল্পনা করছি; অর্ধ পয়েন্ট স্বয়ংক্রিয়ভাবে এই উত্তরে পুরষ্কার দেওয়া হবে।
জেফি

2

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

কোনো সূচক জন্য যাক θ ( পি আমি ) = θ ( পি আমি - 1 , পৃ আমি , পি আমি + + 1 ) বোঝাতে স্বাক্ষরিত বহিরাগত কোণ প্রান্তবিন্দু এ পি আমি ; এই রে মধ্যে বামাবর্তে কোণ পি আমি - 1 P আমি এবং পি আমি পি আমি + + 1 , পরিসরের স্বাভাবিক - পাইয়ের মান θ আমিiθ(pi)=θ(pi1,pi,pi+1)pipi1pipipi+1 । (সকল সূচক গাণিতিক পরোক্ষভাবে লেখার জন্য এন ।) বাঁক সংখ্যা এর পি হিসাবে সংজ্ঞায়িত করা হয় টি U r এন ( পি ) = 1πθiπnP আমাকে একটা প্রান্তবিন্দু কল করা যাকপিআমিএকটিউদ্দীপনাযদিঅভ্যন্তরীণএ কোণপিআমিসমান0। একটি উত্সাহেবাহ্যিক কোণθiভাল সংজ্ঞায়িত হয় না; এটা হয় হতে পারেπবা-π। আরো সাধারণভাবে, এর বাঁক সংখ্যাপিভালভাবে সংজ্ঞায়িত করা হয় যদি এবং কেবল যদিপিকোন Spurs (এবং কোন পুনরাবৃত্তি কোণ রয়েছেপিআমি=

Turn(P)=12πi=0n1θ(pi).
pipi0θiππPPpi=pi+1Turn(P)Turn(P)=±1P

Pprsrqpqrssrsrss

θ~(s)=πsgnθ(p,r,q)={πif θ(p,r,q)>0πif θ(p,r,q)<0
(But what if θ(p,r,q)=0? As Pat observes, this can actually happen. Probably there's some sort of recursive way to define θ~(s) even in this case, but I don't know what it is.)

If P is weakly simple, then there is a simple n-gon P~ arbitrarily close to P; tet s~ be the vertex of P~ closest to P. As P~ approaches P, the internal angle at s~ approaches zero. It's not hard to prove (by induction on the length of rs) that the external angle θ(s~) approaches θ~(s).

If P consists entirely of a walk followed by its reversal, rsr, then the external angles at the spurs r and s are still not well-defined. But in this case, I believe P is weakly simple if and only if the walk rs is non-self-crossing. (There are more complex cases where I cannot define a reasonable modified turning number, in particular, if the polygon wanders back and forth through a single walk. But in all such cases, it appears that the polygon is weakly simple if and only if it is non-self-crossing.)

Otherwise, if we define θ~(pi)=θ(pi) for any non-spur vertex pi, we now have a well-defined turning number Turn~(P)=iθ~(pi)/2π=Turn(P~), which must be ±1 if P is weakly simple.

I'm no longer confident that Turn~(P) can be computed in linear time. The main difficulty is that the walk rs can itself contain spurs. The naive algorithm that finds the root of each spur by brute force actually takes Θ(n2) time in the worst case; consider an n-gon that has a subwalk of length Ω(n) that simply alternates between two points.

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