جلسه ی ۳: نزدیک ترین زوج نقاط

Σχετικά έγγραφα
جلسه ی ۱۰: الگوریتم مرتب سازی سریع

محاسبه ی برآیند بردارها به روش تحلیلی

روش محاسبه ی توان منابع جریان و منابع ولتاژ

جلسه ی ۵: حل روابط بازگشتی

دانشکده ی علوم ریاضی جلسه ی ۵: چند مثال

جلسه ی ۱۸: درهم سازی سرتاسری - درخت جست و جوی دودویی

جلسه ی ۲۴: ماشین تورینگ

مدار معادل تونن و نورتن

قاعده زنجیره ای برای مشتقات جزي ی (حالت اول) :

جلسه ی ۴: تحلیل مجانبی الگوریتم ها

مثال( مساله الپالس در ناحیه داده شده را حل کنید. u(x,0)=f(x) f(x) حل: به کمک جداسازی متغیرها: ثابت = k. u(x,y)=x(x)y(y) X"Y=-XY" X" X" kx = 0

تصاویر استریوگرافی.

تحلیل مدار به روش جریان حلقه

مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل

هو الحق دانشکده ي مهندسی کامپیوتر جلسه هفتم

جلسه 9 1 مدل جعبه-سیاه یا جستاري. 2 الگوریتم جستجوي Grover 1.2 مسا له 2.2 مقدمات محاسبات کوانتمی (22671) ترم بهار

جلسه ی ۱۱: درخت دودویی هرم

معادلهی مشخصه(کمکی) آن است. در اینجا سه وضعیت متفاوت برای ریشههای معادله مشخصه رخ میدهد:

جلسه 14 را نیز تعریف کرد. عملگري که به دنبال آن هستیم باید ماتریس چگالی مربوط به یک توزیع را به ماتریس چگالی مربوط به توزیع حاشیه اي آن ببرد.

همبستگی و رگرسیون در این مبحث هدف بررسی وجود یک رابطه بین دو یا چند متغیر می باشد لذا هدف اصلی این است که آیا بین

ویرایشسال 95 شیمیمعدنی تقارن رضافالحتی

جلسه 3 ابتدا نکته اي در مورد عمل توابع بر روي ماتریس ها گفته می شود و در ادامه ي این جلسه اصول مکانیک کوانتمی بیان. d 1. i=0. i=0. λ 2 i v i v i.

سلسله مزاتب سبان مقدمه فصل : زبان های فارغ از متن زبان های منظم

تخمین با معیار مربع خطا: حالت صفر: X: مکان هواپیما بدون مشاهده X را تخمین بزنیم. بهترین تخمین مقداری است که متوسط مربع خطا مینیمم باشد:

فصل پنجم زبان های فارغ از متن

دبیرستان غیر دولتی موحد

جلسه 2 جهت تعریف یک فضاي برداري نیازمند یک میدان 2 هستیم. یک میدان مجموعه اي از اعداد یا اسکالر ها به همراه اعمال

فصل 5 :اصل گسترش و اعداد فازی

ﯽﺳﻮﻃ ﺮﯿﺼﻧ ﻪﺟاﻮﺧ ﯽﺘﻌﻨﺻ هﺎﮕﺸﻧاد

تئوری جامع ماشین بخش سوم جهت سادگی بحث یک ماشین سنکرون دو قطبی از نوع قطب برجسته مطالعه میشود.

جلسه 16 نظریه اطلاعات کوانتمی 1 ترم پاییز

فهرست مطالب جزوه ی فصل اول مدارهای الکتریکی مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل تحلیل مدار به روش جریان حلقه... 22

تمرینات درس ریاض عموم ٢. r(t) = (a cos t, b sin t), ٠ t ٢π. cos ٢ t sin tdt = ka۴. x = ١ ka ۴. m ٣ = ٢a. κds باشد. حاصل x٢

فصل چهارم : مولتی ویبراتورهای ترانزیستوری مقدمه: فیدبک مثبت

جلسه 12 به صورت دنباله اي از,0 1 نمایش داده شده اند در حین محاسبه ممکن است با خطا مواجه شده و یکی از بیت هاي آن. p 1

شاخصهای پراکندگی دامنهی تغییرات:

تمرین اول درس کامپایلر

هد ف های هفته ششم: 1- اجسام متحرک و ساکن را از هم تشخیص دهد. 2- اندازه مسافت و جا به جایی اجسام متحرک را محاسبه و آن ها را مقایسه کند 3- تندی متوسط

جلسه 15 1 اثر و اثر جزي ی نظریه ي اطلاعات کوانتومی 1 ترم پاي یز جدایی پذیر باشد یعنی:

1 دایره فصل او ل کاربردهای بسیاری داشته است. یک قضیۀ بنیادی در هندسه موسوم با محیط ثابت دایره دارای بیشترین مساحت است. این موضوع در طراحی

آزمایش 1: پاسخ فرکانسی تقویتکننده امیتر مشترك

سايت ويژه رياضيات درسنامه ها و جزوه هاي دروس رياضيات

فصل اول پیچیدگی زمانی و مرتبه اجرایی

آزمون مقایسه میانگین های دو جامعه )نمونه های بزرگ(

تلفات خط انتقال ابررسی یک شبکة قدرت با 2 به شبکة شکل زیر توجه کنید. ژنراتور فرضیات شبکه: میباشد. تلفات خط انتقال با مربع توان انتقالی متناسب

فعالیت = ) ( )10 6 ( 8 = )-4( 3 * )-5( 3 = ) ( ) ( )-36( = m n m+ m n. m m m. m n mn

باشند و c عددی ثابت باشد آنگاه تابع های زیر نیز در a پیوسته اند. به شرطی که g(a) 0 f g

هندسه تحلیلی بردارها در فضای R

بسم اهلل الرحمن الرحیم آزمایشگاه فیزیک )2( shimiomd

آزمایش 8: تقویت کننده عملیاتی 2

مود لصف یسدنه یاه لیدبت

Angle Resolved Photoemission Spectroscopy (ARPES)

فصل دهم: همبستگی و رگرسیون

جلسه 2 1 فضاي برداري محاسبات کوانتمی (22671) ترم بهار

1) { } 6) {, } {{, }} 2) {{ }} 7 ) { } 3) { } { } 8) { } 4) {{, }} 9) { } { }

فهرست جزوه ی فصل دوم مدارهای الکتریکی ( بردارها(

جلسه 22 1 نامساویهایی در مورد اثر ماتریس ها تي وري اطلاعات کوانتومی ترم پاییز

محاسبات کوانتمی 1 علم ساخت و استفاده از کامپیوتري است که بر پایه ي اصول مکانیک کوانتم قرار گرفته است.

تحلیل الگوریتم پیدا کردن ماکزیمم

مسائل. 2 = (20)2 (1.96) 2 (5) 2 = 61.5 بنابراین اندازه ی نمونه الزم باید حداقل 62=n باشد.

ندرک درگ ندرک درگ شور

Top Down Parsing LL(1) Narges S. Bathaeian

تئوری رفتار مصرف کننده : می گیریم. فرض اول: فرض دوم: فرض سوم: فرض چهارم: برای بیان تئوری رفتار مصرف کننده ابتدا چهار فرض زیر را در نظر

نظریه زبان ها و ماشین ها

جلسه دوم سوم چهارم: مقدمه اي بر نظریه میدان

زمین شناسی ساختاری.فصل پنجم.محاسبه ضخامت و عمق الیه

تبدیل ها هندسه سوم دبیرستان ( D با یک و تنها یک عضو از مجموعه Rست که در آن هر عضو مجموعه نگاشت از Dبه R تناظری بین مجموعه های D و Rمتناظر باشد.

جلسه 28. فرض کنید که m نسخه مستقل یک حالت محض دلخواه

به نام ستاره آفرین قضیه ویریال جنبشی کل ذرات یک سیستم پایدار مقید به نیرو های پایستار را به متوسط انرژی پتانسیل کل شان

ک ت اب درس ی ن ظ ری ه گ راف ب الاک ری ش ن ان و ران گ ان ات ه ان (ح ل ت ع دادي از ت م ری ن ه اي ف ص ل ه اي 4 و 5) دک ت ر ب ی ژن ط اي ري

Delaunay Triangulations محیا بهلولی پاییز 93

:موس لصف یسدنه یاه لکش رد یلوط طباور

فصل چهارم تعیین موقعیت و امتدادهای مبنا

به نام خدا. الف( توضیح دهید چرا از این تکنیک استفاده میشود چرا تحلیل را روی کل سیگنال x[n] انجام نمیدهیم

آشنایی با پدیده ماره (moiré)

فصل سوم جریان های الکتریکی و مدارهای جریان مستقیم جریان الکتریکی

ارزیابی بهره وری متقاطع DEA بر پایه بهبود پارتو

فصل ترکیبیات درس اول شمارش درس دوم جایگشت درس سوم ترکیب

به نام حضرت دوست. Downloaded from: درسنامه

نویسنده: محمدرضا تیموری محمد نصری مدرس: دکتر پرورش خالصۀ موضوع درس سیستم های مینیمم فاز: به نام خدا

عنوان: رمزگذاري جستجوپذیر متقارن پویا

هدف از این آزمایش آشنایی با رفتار فرکانسی مدارهاي مرتبه اول نحوه تأثیر مقادیر عناصر در این رفتار مشاهده پاسخ دامنه

CD = AB, BC = ٢DA, BCD = ٣٠ الاضلاع است.

فصل اول هدف های رفتاری: پس از پایان این فصل از هنرجو انتظار می رود: 5 روش های اجرای دستور را توضیح دهد. 6 نوارهای ابزار را توصیف کند.

سینماتیک مستقیم و وارون

آموزش SPSS مقدماتی و پیشرفته مدیریت آمار و فناوری اطالعات -

پروژه یازدهم: ماشین هاي بردار پشتیبان

یدنب هشوخ یاه متیروگلا

فصل چهارم : مولتی ویبراتورهای ترانزیستوری مقدمه: فیدبک مثبت

ثابت. Clausius - Clapeyran 1

ˆ ˆ ˆ. r A. Axyz ( ) ( Axyz. r r r ( )

پوشش مرزی در شبکه های حسگر بی سیم

اصول انتخاب موتور با مفاهیم بسیار ساده شروع و با نکات کاربردی به پایان می رسد که این خود به درک و همراهی خواننده کمک بسیاری می کند.

هندسه تحلیلی و جبر خطی ( خط و صفحه )

يﺎﻫ ﻢﺘﻳرﻮﮕﻟا و ﺎﻫ ﺖﺧرد فاﺮﮔ ﻲﻤﺘﻳرﻮﮕﻟا ﻪﻳﺮﻈﻧ :سرد ﻲﺘﺸﻬﺑ ﺪﻴﻬﺷ هﺎﮕﺸﻧاد ﺮﺗﻮﻴﭙﻣﺎﻛ مﻮﻠﻋ هوﺮﮔ ﻪﻴﻟوا ﺞﻳﺎﺘﻧ و ﺎﻫﻒ ﻳﺮﻌﺗ

تعیین محل قرار گیری رله ها در شبکه های سلولی چندگانه تقسیم کد

فصل ششم: ترکیبات درس اول: شمارش اصل جمع و اصل ضرب فعالیت قیمه هویج سیب پرتقال قورمه «سورۀ نحل»

فصل سوم : عناصر سوئیچ

برابری کار نیروی برآیند و تغییرات انرژی جنبشی( را بدست آورید. ماتریس ممان اینرسی s I A

I = I CM + Mh 2, (cm = center of mass)

Transcript:

دانشکده ی علوم ریاضی ا نالیز الگوریتم ها ۴ بهمن ۱۳۹۱ جلسه ی ۳: نزدیک ترین زوج نقاط مدر س: دکتر شهرام خزاي ی نگارنده: امیر سیوانی اصل ۱ پیدا کردن نزدیک ترین زوج نقطه فرض می کنیم n نقطه داریم و می خواهیم در بین این نقاط نزدیک ترین زوج نقطه را بیابیم منظور از فاصله ی نقاط ) ۱ P = (x ۱, y و ) Q = (x, y که از رابطه ) dist(p, Q) = (x ۱ x ) + (y ۱ y محاسبه می شود همان فاصله اقلیدسی است او لین و ساده ترین راه حل این است که همه ی زوج نقاط روی صفحه را در نظر بگیریم و کوچک ترین فاصله ی این زوج نقاط را با استفاده از جستجوی کامل ۱ بیابیم شبه کد این الگوریتم در زیر ا مده است این الگوریتم از مرتبه ی ) Θ(n است function Closest-Pair-Brute-Force(P 1,, P n ) mindist for every pair (P i, P j ) with 1 i < j n do d dist(p i, P j ) if d < mindist then mindist d closestp air (P i, P j ) return closestp air ۱۱ حالت یک بعدی ۱۱۱ ر وش عادی در این حالت ورودی مجموعه ای از اعداد مانند ) n x) ۱,, x است که بیانگر مو ل فه ی طول این n نقطه در روی محور افقی هستند این الگوریتم به این صورت کار می کند که ابتدا نقاط را بر حسب مو ل فه ی طول شان مرت ب کرده و در ا رایه ی مرت ب شده ی ) n (x ۱,, x قرار می دهد سپس کم ترین i ۱ x i x را یافته و به عنوان جواب بازمی گرداند x ۱ x i ۱ x i x n مرتبه ی زمانی مرت ب کردن مجموعه ی طول ها (n O(n log است پیدا کردن کمینه ی ۱ i x i x نیز از مرتبه ی O(n) زمان می برد زیرا نیازمند یک بار پیمایش ا رایه هستیم پس مرتبه ی زمانی کل ی الگوریتم (n O(n log خواهد بود ۱ brute force ۳-۱

۱۱ تقسیم و حل راه حل فوق در دل خود از رهیافت تقسیم و حل استفاده می کند (در قسمت مرتب سازی ا رایه ورودی) اما تعمیم روش برای حالت دو بعدی سرراست به نظر نمی رسد ما به دنبال یک روشی مبتنی بر تقسیم و حل هستیم که بتوان ا ن را تعمیم داد فرض می کنیم که ا رایه ورودی ) n x) ۱,, x مرت ب باشد الگوریتم زیر را در نظر بگیرید با استفاده از روش تقسیم و حل n نقطه ورودی را به دو دسته نقطه ی L و R که هر یک شامل /n نقطه است تقسیم می کنیم به طوری همه ی نقاط L در سمت چپ میانه و همه ی نقاط R در سمت راست ا ن باشند دق ت کنید که چون ا رایه ورودی مرت ب است این کار را در O(n) می توان انجام داد حال برای هر دسته مسا له را به صورت بازگشتی حل می کنیم از هردسته زوج نقطه ای به عنوان پاسخ خواهیم داشت کمینه ی این دو فاصله لزوما نزدیک ترین زوج نقطه را نمایش نمی دهد زیرا ممکن است زوج نقطه ای در دو طرف میانه قرار داشته باشند که به هم نزدیک تر باشند بنابراین باید سمت راست ترین نقطه ی دسته ی سمت چپ و سمت چپ ترین نقطه ی دسته ی سمت راست (یعنی نقاط دوطرف میانه) را نیز محاسبه کنیم در نهایت کمینه ی نزدیک ترین زوج نقاط در سمت چپ سمت راست و دوطرف میانه را به عنوان پاسخ باز می گردانیم شبه کد این الگوریتم را در زیر مشاهده می کنید function Closest-Pair-1D(x 1,, x n ) [assumes input array is sorted and n is a power of two] if n = 2 then mindist = x 1 x 2 else mindistl Closest-Pair-1D(x 1,, x n/2 ) [ie, min dist of the left half points] mindistr Closest-Pair-1D(x n/2+1,, x n ) [ie, min dist of the right half points] mindists x n/2 x n/2+1 [ie, min dist of of the split points] return min{mindistl, mindistr, mindists} با فرض مرتبب بودن ا رایه ورودی صحت الگوریتم فوق روشن است و زمان اجرای ا ن (n O(n log است با توجه به اینکه ا رایه اولیه را نیز در زمان (n O(n log می توان مرتب کرد نزدیک ترین زوج نقاط را می توان در زمان (n O(n log پیدا نمود اضافه کردن قابلیت پیدا کردن نزدیک ترین نقاط (علاوه بر فاصله ا نها) به الگوریتم فوق نیز سرراست است ۱ حالت دو بعدی در راستای تعمیم راه حل یک بعدی به دوبعدی دقت کنید که تقسیم صفحه به چهار قسمت به گونه ای که هر قسمت شامل یک چهارم نقاط صفحه باشد میسر نیست فرض می کنیم که نقاط داده شده بر حسب مو ل فه ی xشان مرت ب هستند این کار را در زمان (n O(n log می توان انجام داد راه حل دیگری که به ذهن می رسد تقسیم نقاط به دو قسمت چپ و راست بر مبنای مو ل فه ی طولشان و استفاده از رهیافت تقسیم و حل است ۳-

P ۴ P ۵ P n P ۷ P ۹ P ۱ P ۶ P ۳ P P n ۱ P ۸ function Closest-Pair-2D(P 1,, P n ) [assumes P i = (x i, y i ) where (x 1,, x n ) is sorted and n is a power of two] if n = 2 then mindist = dist(p 1, P 2 ) else mindistl Closest-Pair-2D(P 1,, P n/2 ) [ie, min dist of the left half points] mindistr Closest-Pair-2D(P n/2+1,, P n ) [ie, min dist of the right half points] mindists Closest-Pair-Split(P 1,, P n ) [ie, min dist of of the split points] return min{mindistl, mindistr, mindists} پیدا کردن نزدیک ترین نقاط جدا از هم الگوریتم فوق بر روی n نقطه ورودی که برحسب مو ل فه ی طول شان مرتب هستند اعمال می شود با استفاده از رهیافت تقسیم و حل ابتدا نقاط ورودی را به دو دسته نقطه ی چپ و راست که هر کدام شامل n نقطه است تقسیم می شود سپس به صورت بازگشتی نزدیک ترین فاصله میان نقاط هر دو دسته محاسبه می شود در نهایت لازم است که نزدیک ترین فاصله میان نقاط جدا از هم نیز محاسبه شود و جواب ها با هم ادغام گردند ما به دنبال یک الگوریتم سریع برای پیاده سازی پیدا کردن نزدیک ترین نقاط جدا از هم هستیم ساده ترین راه حل مقایسه ی همه ی نقاط موجود در یک دسته با نقاط دسته دیگر است که دارای مرتبه ی زمانی ا ن ) O(n می باشد اما ۳-۳

با استفاده از الگوریتم غیر بدیهی زیر می توان این مسا له را در زمان (n O(n log حل کرد function Closest-Pair-Split(P 1,, P n ) [assumes P i = (x i, y i ) where (x 1,, x n ) is sorted] [assumes mindistl and mindistr have already been computed] δ = min(mindistl, mindistr) Let ˆx be the median of x coordinates Let S contanins all thos those points P i = (x i, y i ) with x i ˆx δ Sort points in S by their y coordinate and call them P 1,, P m mindists δ for everay pair P i, P j S with i j 7 do if dist(p i, P j ) < mindists then mindists = dist(p i, P j ) return mindists P ۵ P ۴ P ۳ P P ۱ ˆx δ ˆx ˆx + δ الگوریتم فوق ابتدا mindistr) δ = min(mindistl, و xˆ میانه ی مو ل فه های ی x نقاط را محاسبه می کند و نقاطی را که طولشان در بطه ی x xˆ < δ صدق می کنند در مجموعه ی S قرار می دهد سپس مجموعه ی نقاط را بر حسب عرض شان مرت ب می کند و ا ن ها را به ترتیب ) m P ۱ (x ۱, y ۱ ),, P m (x m, y می نامد ا نگاه نزدیک زوج نقطه ) j (P i, P که ۷ j i محاسبه می شود اگر فاصله ا نها کمتر از δ باشد mindists برابر این فاصله قرار داده می شود ۳-۴

محاسبه ی پیچیدگی الگوریتم به فرض اینکه نقاط ورودی بر حسب مو ل فه طولشان مرتب شده باشند پیچیدگی الگوریتم از رابطه بازگشتی = (n) T n) T ( n ) + O(n log محاسبه می شود که جواب ا ن n) T (n) = O(n log است با توجه به اینکه مرت ب سازی اولیه نقاط بر حسب مو ل فه طولشان از مرتبه ی زمانی (n O(n log است پیچیدگی الگوریتم (n O(n log است البت ه با پیش پردازش به گونه ای که x و y ها مرت ب شده باشند می توان یک الگوریتم با پیچیدگی (n O(n log اراي ه کرد که به عنوان تمرین به خواننده واگذار می گردد صحت الگور یتم در ادامه L مجموعه نقاط سمت چپ R مجموعه نقاط سمت راست و δ نزدیک ترین فاصله بین نقاطی که هر دو در یک سمت می باشند است ادعا ۱ اگر P = (x ۱, y ۱ ) L و Q = (x, y ) R و dist(p, Q) < δ ا ن گاه P, Q S برهان P / S x ۱ x δ (۱) Q / S x x + δ () از ۱ و داریم: dist(p, Q) x ۱ x δ (۳) ادعا بعد از مرت ب کردن نقاط برحسب مو ل فه عرضشان اگر > ۷ j i ا نگاه dist(p i, P j ) > δ برهان بدون از دست دادن کلیت مسا له فرض کنید j > i و ) i P j = (x j, y j ) P i = (x i, y فرض خلف کنید که dist(p i, P j ) δ بنابراین داریم y j y i δ حال یک مستطیل با ابعاد δ δ به صورت زیر در نظر بگیرید همه + ۱ i j نقطه P i, P i+۱,, P j (که تعداد ا نها حداقل ۹ تاست) در درون یا بر روی اضلاع این مستطیل جای دارند مستطیل را به ۸ مربع با ابعاد /δ /δ همانگونه که در شکل نشان داده شده است تقسیم کنید طبق اصل لانه کبوتری حداقل دو نقطه از این نقاط در درون یا روی اضلاع یکی از مربع ها قرار خواهد گرفت اما در این صورت فاصله این دونقطه حداکثر برابر قطر مربع یعنی /δ خواهد بود که خلاف این فرض است که هیچ دونقطه ای در یک سمت با فاصله کمتر از δ وجود ندارد y i + δ δ y i + δ/ y i ˆx δ ˆx P i ˆx + δ ۳-۵