هندسه محاسباتی
|
|
ممکن است این مقاله نیازمند ویکیسازی باشد تا با استانداردهای کیفی ویکیپدیا همخوانی یابد. خواهشمندیم با افزودن پیوندهای داخلی مرتبط، یا با بهبود چیدمان به بهبود آن کمک کنید.
برای جزئیات بیشتر روی [نمایش] کلیک کنید.
هیچ دلیلی برای این برچسب ویکیسازی ذکر نشدهاست. میتوانید دلیلتان را با استفاده از پارامتر
|
هندسه محاسباتی[۱] یکی از شاخههای علوم کامپیوتر است که برای حل مسائل هندسی از روشهای الگوریتمی استفاده میکند. بعضی از مسائل کاملاً هندسی، برآمده از مطالعهٔ الگوریتمهای هندسهٔ محاسباتی است و مطالعه این گونه مسائل نیز به عنوان بخشی از هندسه محاسباتی به حساب میآید.
انگیزهٔ اصلی برای قلمداد کردن هندسه محاسباتی به عنوان یک رشتهٔ علمی، پیشرفت در گرافیک کامپیوتری، طراحی و تولیدات با کمک رایانه (به وسیلهٔ نرمافزارهایی مانند کد[۲]/کم[۳]) بود. ولی طبیعتاً بسیاری از مسائل در هندسه محاسباتی، قدیمی هستند.
کاربردهای مهم دیگر هندسه محاسباتی در دانش رباتیک (برنامه ریزی حرکتی و مشکلات بصری)، سیستمهای اطلاعات جغرافیایی[۴](جستجو و مکانیابی هندسی، نقشه کشی راهها)، طراحی مدار مجتمع[۵](طراحی و بازبینی هندسی مدارهای مجتمع) و مهندسی با کمک رایانه[۶] (برنامهریزی ماشینهای کنترل عددی)[۷] میباشد.
شاخههای اصلی هندسه محاسباتی عبارتند از:
- هندسهٔ محاسباتی ترکیبی (هندسه الگوریتمی): این هندسهٔ محاسباتی اشیای هندسی را به عنوان موجودات گسسته در نظر میگیرد. براساس کتابی که توسط پرپاراتا[۸] و شاموس[۹] نوشته شدهاست، لفظ هندسه محاسباتی با این مفهوم، نخستین بار در سال ۱۹۷۵ بیان شدهاست.
- هندسه محاسباتی عددی (هندسه ماشینی، طراحی هندسی با کمک رایانه و یا مدلسازی هندسی): اساس کار این هندسه محاسباتی این است که اشیای دنیای واقعی را به صورت مناسبی برای محاسبات رایانهای در سیستمهای کد/کم در آورد. این شاخه ممکن است به عنوان هندسه توصیفی پیشرفته در نظر گرفته شود و اغلب یکی از شاخههای گرافیک کامپیوتری و یا کد به حساب میآید. هندسه محاسباتی با این معنا، از سال ۱۹۷۱ مورد استفاده قرار گرفت.
محتویات |
[ویرایش] هندسهٔ محاسباتی ترکیبی
هدف اصلی از پژوهش در زمینهٔ هندسه محاسباتی ترکیبی این است که، برای حل مسائلی که در زمینه اشیای پایه هندسی(نقاط، خطها، چند ضلعیها، چند وجهیها[۱۰] و ...) مطرح میشوند، الگوریتمها و ساختارهای داده[۱۱] ی مناسبی تولید شود.
برخی از این مسائل به قدری آسان به نظر میرسند که تا زمان پیدایش رایانهها مشکل به حساب نمیآمدند. برای مثال به مسئلهٔ نزدیکترین جفت[۱۲] توجه کنید:
- n نقطه در صفحه داریم. دو نقطهای که کمترین فاصله را از یکدیگر دارند پیدا کنید.
میتوان فاصله بین جفت نقطهها، که تعدادشان معلوم هست را پیدا کرد و بعد کوچکترین عدد را انتخاب کرد. این الگوریتم از مرتبهٔ[۱۳] n2 است. منظور این است که زمان اجرایش به مربع تعداد نقاط بستگی دارد. یک نتیجهٔ کلاسیک در هندسهٔ محاسباتی ایجاد الگوریتمی بود که از مرتبهٔ n log n زمان بگیرد. الگوریتمهای تصادفی که از مرتبهٔ n زمان میبرند، علاوه بر الگوریتمهای تعیین کنندهای که از مرتبهٔ n log n زمان میبرند نیز کشف شدهاند.
برای GIS جدید[۱۴]، گرافیک کامپیوتری و سیستمهای طراحی مدارهای مجتمع که روزانه دهها و صدها میلیون نقطه را به کار میگیرند، تفاوت بین مرتبهٔ n2و مرتبهٔ n log n میتواند تفاوت بین روزها و ثانیهها محاسبه، باشد. به همین دلیل است که در هندسه محاسباتی تاکید زیادی روی پیچیدگی محاسباتی شده است.
[ویرایش] انواع سؤالات
مسائل اساسی در هندسه محاسباتی را میتوان با در نظر گرفتن معیارهای گوناگون، به روشهای گوناگونی طبقهبندی کرد. یکی از این رده بندیها در زیر آمده است.
[ویرایش] مسائل ایستا
در این گروه ازمسائل، نوعی ورودی داده میشود و خروجی متناسب باید به دست بیاید یا پیدا شود. برخی مسائل اساسی این نوع عبارتند از:
- پوستهٔ محدب[۱۵](رویه محدب): تعدادی نقطه داریم، کوچکترین چند ضلعی یا چند وجهی محدبی را پیدا کنید که دربرگیرندهٔ همه نقطههاست.
- تقاطع پاره خطها[۱۶]: تقاطعهای بین تعدادی پاره خط را پیدا کنید.
- مثلث بندی دلونی[۱۷]
- دیاگرام ورونوی[۱۸]: با دریافت مجموعهای از نقاط، فضا را بر اساس نزدیکترین نقطه تقسیمبندی کنید.
- برنامه نویسی خطی[۱۹]
- نزدیکترین جفت نقطه[۲۰]: با دریافت مجموعهای از نقاط، دونقطهای را بیابید که کمترین فاصله را دارند.
- کوتاهترین مسیر اقلیدسی[۲۱]: دو نقطه را در فضای اقلیدسی (با یک مانع چند وجهی) با کوتاهترین مسیر به هم وصل کنید.
- مثلث بندی چند ضلعی[۲۲]: با دریافت یک چند ضلعی، سطح داخل آن را به تعدادی مثلث تقسیم کنید.
پیچیدگی محاسباتی برای این دسته از مسائل براساس زمان و فضای(حافظهٔ کامپیوتری) لازم برای حل مسئله تقریب زده میشود .
[ویرایش] مسائل جستجوی هندسی
در مسائل جستجوی هندسی[۲۳] ورودی از دو قسمت تشکيل شده است: قسمت فضای جستجو و قسمت جستجو، که در هر مسئله تغییر میکند. قسمت فضای جستوجو باید به گونهای پیش پردازش[۲۴] شود که بتواند به نحو مطلوبی به سوالات متعدد جواب دهد.
برخی مسائل اساسی جستجوی هندسی عبارتند از:
- جستوجوی محدوده[۲۵]: مجموعهای از نقاط را پیش پردازش میکند برای اینکه در داخل محدوده مطلوب، تعداد نقاط را بشمارد.
- محل یابی نقطه[۲۶]: با دریافت فضایی که تقسیم بندی شده، یک ساختار داده تولید میکند که به ما میگوید نقطه مورد نظر، در کدام قسمت قرار دارد.
- نزدیکترین همسایه[۲۷]: مجموعهای از نقاط را به این منظور پیش پردازش میکند که تعیین کند کدام نقطه، به نقطهٔ مورد نظر نزدیکتر است.
- ردیابی پرتو[۲۸]: با دریافت مجموعهای از اجسام در فضا، یک ساختار داده تولید میکند تا تعیین کند که پرتوی جستجو[۲۹] ی مورد نظر، نخستین بار با کدام جسم برخورد میکند.
اگر فضای جستجو ثابت باشد، پیچیدگی محاسباتی برای این دسته از مسائل بر اساس مطالب زیر تخمین زده میشود:
- زمان و حافظهٔ لازم برای ساختن ساختار دادهای که باید در داخل آن جستجو شود.
- زمان (و برخی مواقع یک حافظهٔ اضافی) برای پاسخ به جستجوها.
برای حالتی که فضای جستجو تغییر میکند، به مسائل پویا[۳۰] رجوع کنید.
[ویرایش] مسائل پویا
یکی دیگر از گروههای اصلی مسائل، مسائل پویا هستند که در آنها هدف، یافتن الگوریتمی مناسب برای یافتن راه حلی است که بعد از هر تغییر دادهٔ ورودی (اضافه یا حذف کردن عناصر هندسی) تکرار شود. الگوریتمهای این نوع مسائل اغلب شامل ساختارهای دادهٔ پویا[۳۱] است. هر کدام از مسائل هندسه محاسباتی را می توان به مسئلهٔ پویا تبدیل کرد. برای مثال، مسئلهٔ جستجوی محدوده را میتوان با اضافه کردن امکان اضافه یا حذف کردن نقطهها به مسئلهٔ جستجوی پویای محدوده تبدیل کرد. مسئلهٔ پوستهٔ محدب پویا همان کار مسئلهٔ پوستهٔ محدب را برای مجموعهٔ نقاطی که به طور پویا تغییر میکنند انجام میدهد.
پیچیدگی محاسباتی این دسته از مسائل با توجه به عوامل زیر تخمین زده میشود:
- زمان و حافظهٔ لازم برای ساختن ساختار دادهای که باید در داخل آن جستجو شود.
- زمان و حافظهٔ لازم برای تغییر دادن ساختار دادهٔ مورد جستجو، بعد از یک تغییر در فضای جستجو.
- زمان (و برخی مواقع یک حافظهٔ اضافی) برای پاسخ به جستجوها.
[ویرایش] حالتهای گوناگون
میتوان با برخی دادهها به گونهای برخورد کرد که با توجه به محتوایشان جزو هر کدام از گروههای معرفی شده قرار گیرند. برای مثال، مساله زیر را در نظر بگیرید: نقطه در چند ضلعی[۳۲]: مشخص کنید که یک نقطهٔ مورد نظر داخل چند ضلعی است یا خارج آن. در بسیاری از موارد با این مسئله به عنوان یک تک تیر[۳۳] برخورد میشود، یعنی اینکه مربوط به گروه اول است. برای مثال، در بسیاری از نمونههای گرافیک کامپیوتری یک مسئلهٔ رایج این است که مشخص کند کدام ناحیه از صفحه توسط نشانهگر ماوس[۳۴] کلیک شده است. اما در برخی موارد چند ضلعی مورد نظر تغییر ناپذیر است در حالی که نقطه مورد جستجو را به نمایش میگذارد. برای مثال، چند ضلعی وارد شده میتواند نمایندهٔ مرز یک کشور باشد و نقطه، مکان یک هواپیما و مسئله تعیین کردن این است که آیا هواپیما از مرز عبور کرده است یا نه. در نهایت، در مثالهای بیان شده در گرافیک کامپیوتری ورودیهای متغیر درساختارهای دادهٔ پویا ذخیره میشوند، تا به حل سوالاتی که مربوط به نقاط داخل چند ضلعی است، سرعت بخشد.
[ویرایش] هندسهٔ محاسباتی عددی
این شاخه به مدل سازی هندسی و طراحی هندسی با کمک کامپیوتر[۳۵] نیز معروف است و اغلب تحت کلیدواژهی[۳۶] منحنیها و سطحها دیده میشود. مسئلههای اصلی در این نوع از هندسهٔ محاسباتی، مدل سازی و ارائهٔ منحنی و سطح میباشد. در اینجا مهمترین ابزارها، منحنیهای پارامتری[۳۷] و سطحهای پارامتری[۳۸] هستند، مانند خمهای بزیر[۳۹]، خمها و سطحهای نواری[۴۰]. از مهمترین روشهای غیر پارامتری، روش تنظیم رده[۴۱] است. از نخستین و مهمترین کاربردهای هندسهٔ محاسباتی عددی، کاربرد در کشتی سازی، هواپیماسازی و صنایع ماشین آلات میباشد. اما امروزه، به دلیل حضور گستردهٔ رایانهها و پیشرفتهتر شدن آنها حتا جعبههای عطر و شامپو نیز با تکنیکهایی که برای کشتیسازان دههی1960 ناشناخته بود طراحی میشوند.
[ویرایش] مطالعهٔ بیشتر
[ویرایش] مجلهها
[ویرایش] هندسهٔ محاسباتی الگوریتمی/ترکیبی
در پیوند[۴۲] زیر لیستی از مجلههای معتبر که در زمینه الگوریتمهای هندسی، پژوهشهایی را چاپ کردهاند، آمده است. توجه کنید که با آمدن مجلههایی که به هندسه محاسباتی اختصاص یافتهاند، سهم انتشارات هندسی در مجلههای علوم کامپیوتر با هدف عمومی و مجلههای گرافیک کامپیوتری کاهش یافت. مجلات در زمینهٔ الگوریتمهای هندسی
[ویرایش] مدلسازی هندسی/طراحی هندسی با کمک کامپیوتر
لیست مجلات در زمینهٔ مدلسازی هندسی
[ویرایش] پانوشتها
- ↑ computational geometry
- ↑ CAD
- ↑ CAM
- ↑ geographic information systems(GIS)
- ↑ integrated circuit (IC)
- ↑ computer-aided engineering(CAE)
- ↑ numerically controlled(NC)
- ↑ Preparata
- ↑ Shamos
- ↑ polyhedra
- ↑ data structures
- ↑ closest pair problem
- ↑ Order (O)
- ↑ modern GIS
- ↑ Convex hull
- ↑ Line segment intersection
- ↑ Delaunay triangulation
- ↑ Voronoi diagram
- ↑ Linear programming
- ↑ Closest pair of points
- ↑ Euclidean shortest path
- ↑ Polygon triangulation
- ↑ geometric query problems, geometric search problems
- ↑ preprocess
- ↑ Range searching
- ↑ Point location
- ↑ Nearest neighbor
- ↑ Ray tracing
- ↑ query ray
- ↑ Dynamic problems
- ↑ dynamic data structures
- ↑ point in polygon
- ↑ single-shot
- ↑ mouse curser
- ↑ computer-aided geometric design (CAGD)
- ↑ keyword
- ↑ parametric curves
- ↑ parametric surfaces
- ↑ Bezier curves
- ↑ spline
- ↑ level set method
- ↑ link
[ویرایش] منابع
- ایران سازه (انگلیسی) http://www.iransaze.com/article-print-841.html
- مشارکتکنندگان ویکیپدیا، «Computational geometry»، ویکیپدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۲ می ۲۰۱۱).
|
||||||||||||||||||||||||||||||||||||||||||||