Senin, 03 Oktober 2016

Geometry Problem

Geometri komputasi adalah cabang ilmu computer yang mempelajari algoritma untuk memecahkan masalah geometris. Dalam teknik matematika modern, komputasi geometri memiliki aplikasi dalam bidang seperti computer grafis, robotika, pemodelan molekul, metalurgi, manufaktur, tata letak tekstil, kehutanan, dan statistik. Input untuk masalah komputasi geometri biasanya merupakan deskripsi masalah dari satu set objek geometris, seperti satu set poin, satu set segmen garis, atau simpul polygon. Outputnya dapat berupa garis berpotongan, atau mungkin objek geometris baru, seperti convex hull dari himpunan beberapa titik.

1.       Closest pair problem
-          Pasangan terdekat, diberikan poin n pada ruang metric, mencari pasangan terdekat antar poin

Contoh :

Closest pair menggunakan algoritma divide & conquer
Case : Menemukan dua titik yang jaraknya paling minimal dari garis S.
1.       Kita bagi menjadi dua bagian yaitu S1 dan S2 dengan garis m.
2.       Asumsikan bahwa {p1 dan p2} adalah point yang paling dekat di S1, lalu {q1 dan q2} adalah point yang terdekat di S2.
3.       Cari titk terdekat dari garis m pada bagian S1 dan S2 yaitu {p3 dan q3}.
4.       Selanjutnya pasangan titik yang jaraknya paling minimal pada garis S.
        Terdapat tiga kandidat :
{p1,p2}
{q1,q2}
{p3,q3}

Perhatikan : pasangan terdekat memiliki satu titik kontribusi dari masig-masing bgian S1 dan S2, maka kedua titik tersebut harus berada dalam area d dari garis tengah m.
KENAPA INI? Jika salah satu dari titik-titik ini adalah jauh dari titik tengah, maka tidak mungkin lebih dekat daripada unit d ke titik di bagian lain, dan karenanya tidak mungkin menentukan sepasang lebih dekat daripada d, yang telah ditetapkan sebagai minimal dua sub-solusi dihitung untuk S1 dan S2.
Kami membuat satu pengamatan akhir untuk meraih algoritma yang efisien: karena jarak minimum antara sub-solusi itu d, hanya ada maksimum satu titik dalam d m di setiap bagian S1 dan S2. Jika tidak, dua poin dalam interval yang akan menentukan pasangan dalam salah satu subset dekat daripada d, yang bertentangan dengan minimalitas d.
Oleh karena itu dalam rangka untuk melihat dari tiga pilihan kami adalah pasangan yang paling dekat yang benar, kita hanya perlu untuk menguji satu pasang poin untuk melihat apakah ada sepasang {p3, Q3} yang mendefinisikan pasangan lebih dekat daripada d! Oleh karena itu penggabungan solusi kami tentu dilakukan dalam waktu linier, jadi kami memang menggambarkan sebuah O (nlogn) algoritma.

2.       Convex-hull problem
-          Poligon, meminta untuk menemukan polygon cembung terkecil yang akan mencakup semua poin dari himpunan.

Contoh convex-hull :

Tidak ada komentar:

Posting Komentar