Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

Subscribe to DeepL Pro to translate larger documents.

Visit www.DeepL.com/pro for more information.

Çizge
Kuramı

Şekil a, Wyoming'de belirli bir kişinin


denetlemekten sorumlu olduğu otoyol sistemini
göstermektedir. Özellikle, bu yol müfettişi tüm
bu yolları dolaşmalı ve yol koşulları, yollardaki
çizgilerin görünürlüğü, trafik işaretlerinin
durumu ve benzeri konularda raporlar
Çizge Kuramı

hazırlamalıdır. Yol müfettişi Greybull'da


yaşadığından, tüm yolları denetlemenin en
ekonomik yolu Greybull'dan başlamak, her bir
yolu tam olarak bir kez kat etmek ve Greybull'a
geri dönmek olacaktır. Bu mümkün müdür?
Sorun bir grafik olarak modellenebilir. Aslında,
grafikler noktalar ve çizgilerle çizildiği için yol
haritalarına benzerler. Şekil b'de, Şekil a'daki
Şekil a Wyoming otoyol sisteminin bir parçası. haritayı modelleyen bir G grafiği çizdik. Şekil
b'deki noktalara köşe, köşeleri birleştiren
çizgilere de kenar adı verilir.
1
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
Çizge Kuramı

Şekil b Şekil a'da gösterilen Şekil c Alternatif, ancak eşdeğer bir


otoyol sisteminin bir grafik grafik model . ve otoyol Şekil
modeli. a'da gösterilen sistem.

Her bir tepe noktasını, karşılık geldiği şehrin ilk üç harfiyle etiketledik. Kenarları 𝑒1 , ... , 𝑒13 olarak
etiketledik. Bir grafik çizdiğimizde, önemli olan tek bilgi hangi köşelerin hangi kenarlarla bağlandığıdır.
Bu nedenle, Şekil b'deki grafik Şekil c'deki gibi de çizilebilir.

2
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
Yol müfettişinin problemi, G çizge modeli için aşağıdaki şekilde yeniden ifade edilebilir: Bir tane var mı
Gre vertex'inden Gre vertex'ine giden ve her kenardan tam olarak bir kez geçen yol?

Yol müfettişinin Greybull'dan başlayıp her bir yolu tam olarak bir kez kat edip Greybull'a geri
dönemeyeceğini gösterebiliriz. Cevabı grafik terimleriyle ifade etmek gerekirse, Şekil b'de Gre tepe
noktasından Gre tepe noktasına giden ve her kenardan tam olarak bir kez geçen bir yol yoktur. Bunu
görmek için böyle bir yol olduğunu varsayalım ve Wor köşesini ele alalım. Wor'a bir kenar üzerinden her
Çizge Kuramı

varışımızda, Wor'dan farklı bir kenar üzerinden ayrılmamız gerekir. Dahası, Wor'a dokunan her kenar
kullanılmalıdır. Böylece Wor'daki kenarlar çiftler halinde oluşur. Buradan çift sayıda kenarın Wor'a
dokunması gerektiği sonucu çıkar. Wor'a üç kenar değdiğine göre, bir çelişkimiz var. Dolayısıyla, Şekil
b'de Gre tepe noktasından Gre tepe noktasına giden ve her kenardan tam olarak bir kez geçen bir yol
yoktur. Eğer G'de v köşesinden v köşesine giden ve her kenardan tam olarak bir kez geçen bir yol varsa,
her köşeye çift sayıda kenar değmelidir.

3
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
Tanım: Bir çizge (veya yönlendirilmemiş çizge) G, bir V köşeler (veya düğümler) kümesi ve bir E kenarlar
(veya yaylar) kümesinden oluşur, öyle ki her e ∈ E kenarı sıralanmamış bir köşe çifti ile ilişkilendirilir.
Eğer v ve w köşeleri ile ilişkili tek bir e kenarı varsa, e = (v, w) veya e = (w, v) yazılır. Bu bağlamda, (v, w)
sıralı bir çifti değil, yönlendirilmemiş bir çizgedeki v ve w arasındaki bir kenarı ifade eder.

Yönlendirilmiş bir çizge (veya digraf) G, bir köşeler (veya düğümler) kümesi V ve bir kenarlar (veya
yaylar) kümesi E'den oluşur, öyle ki her kenar e ∈ E sıralı bir köşe çifti ile ilişkilidir. Eğer (v, w) sıralı
köşe çifti ile ilişkili tek bir e kenarı varsa, e = (v, w) şeklinde yazılır ve v'den w'ye giden bir kenarı ifade
Çizge Kuramı

eder.

Bir çizgedeki (yönlendirilmemiş veya yönlendirilmiş) v ve w köşeleri çiftiyle ilişkili bir e kenarına v ve w
üzerinde olay olduğu söylenir ve v ve w'nin e üzerinde olay olduğu ve komşu köşeler olduğu söylenir.

G, köşeleri V ve kenarları E olan bir çizge (yönlendirilmemiş veya yönlendirilmiş) ise, G = (V, E) olarak yazılır. Tabii ki
Aksi belirtilmedikçe, E ve V kümelerinin sonlu olduğu ve V'nin boş olmadığı varsayılır.

4
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
Örnek: Şekil b'de (yönlendirilmemiş) G grafiği aşağıdaki kümelerden oluşur
V = {Gre, She, Wor, Buf, Gil, Sho, Cas, Dou, Lan, Mud}
köşeler ve küme
E = {𝑒1 , ... , 𝑒 }13
kenarlardan oluşur. 𝑒1 kenarı {Gre, She} sırasız köşe çifti ile ilişkilidir ve 𝑒10 kenarı {Cas, Dou} sırasız köşe
çifti ile ilişkilidir. 𝑒1 kenarı (Gre, She) veya (She, Gre) olarak gösterilir ve 𝑒10 kenarı (Cas, Dou) veya (Dou,
Cas) olarak gösterilir. 𝑒4 kenarı Wor ve Buf üzerinde yer alır ve Wor ve Buf köşeleri bitişiktir.
Çizge Kuramı

Örnek: Şekil 1'de yönlendirilmiş bir grafik gösterilmektedir. Yönlendirilmiş


kenarlar oklarla gösterilmiştir.
𝑒1 kenarı (𝑣2 , 𝑣1 ) sıralı köşe çifti ile ve 𝑒7 kenarı (𝑣6 , 𝑣6 ) sıralı köşe çifti ile
ilişkilidir. 𝑒1 kenarı (𝑣2 , 𝑣1 ) ve 𝑒7 kenarı (𝑣6 , 𝑣6 ) olarak gösterilir.

Şekil 1
Yönlendirilmiş bir grafik.
5
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
Tanım, farklı kenarların aynı köşe çiftiyle ilişkilendirilmesine izin verir. Örneğin, Şekil 2'de 𝑒1 ve 𝑒2
kenarlarının her ikisi de {𝑣1 , 𝑣2 } köşe çiftiyle ilişkilidir. Bu tür kenarlar paralel kenarlar olarak adlandırılır.
Tek bir tepe noktasına gelen bir kenara döngü denir. Örneğin, Şekil 2'de 𝑒3 = (𝑣2 , 𝑣2 ) kenarı bir
döngüdür. Şekil 2'deki 𝑣4 gibi herhangi bir kenara denk gelmeyen bir tepe noktasına izole tepe noktası
denir. Ne döngüleri ne de paralel kenarları olan bir çizge basit çizge olarak adlandırılır.
Çizge Kuramı

Şekil 2 Paralel kenarlar ve döngüler içeren bir grafik.

Örnek: Şekil b'deki grafikte ne paralel kenarlar ne de döngüler bulunduğundan, bu basit bir grafiktir.

6
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
Örnek: İmalatta sıklıkla metal levhalara çok sayıda delik açılması gerekir (bkz. Şekil 3). Bileşenler daha sonra
bu metal levhalara cıvatalanabilir. Delikler bir bilgisayarın kontrolü altında bir matkap presi kullanılarak
delinebilir. Zamandan ve paradan tasarruf etmek için matkap presi mümkün olduğunca çabuk hareket
ettirilmelidir. Durumu bir grafik olarak modelliyoruz.
Grafiğin köşeleri deliklere karşılık gelir (bkz. Şekil 4). Her köşe çifti bir kenarla birbirine bağlıdır. Her kenara
matkabı ilgili delikler arasında hareket ettirme süresini yazıyoruz. Kenarlarında sayılar olan bir grafiğe (Şekil
4'teki grafik gibi) ağırlıklı grafik denir. Eğer e kenarı k ile etiketlenmişse, e kenarının ağırlığının k olduğunu
söyleriz. Örneğin, Şekil 4'te (c, e) kenarının ağırlığı 5'tir. Ağırlıklı bir grafikte, bir yolun uzunluğu, yoldaki
Çizge Kuramı

kenarların ağırlıklarının toplamıdır.

Şekil 3 Bir metal levha


Şekil 4 Şekil 3'teki sac levhanın grafik modeli. Kenar ağırlığı matkap presini hareket ettirme
zamanıdır.
7
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
Örneğin, Şekil 4'te a'dan başlayan, c'yi ziyaret eden ve b'de sonlanan yolun uzunluğu 8'dir. Her köşeyi
tam olarak bir kez ziyaret eden minimum uzunluktaki bir yol, matkap presinin izleyeceği en uygun yolu
temsil eder.
Bu problemde yolun a köşesinden başlayıp e köşesinde bitmesi gerektiğini varsayalım. a'dan e'ye her
köşeden tam olarak bir kez geçen tüm olası yolları listeleyip en kısa olanı seçerek minimum uzunluktaki
yolu bulabiliriz (bkz. Tablo 1). Bu sırayla a, b, c, d, e köşelerini ziyaret eden yolun minimum uzunluğa
sahip olduğunu görüyoruz. Elbette, farklı bir başlangıç ve bitiş köşesi çifti daha da kısa bir yol üretebilir.
Çizge Kuramı

Bu örnekte yaptığımız gibi, v tepe noktasından w


tepe noktasına giden tüm yolları listelemek, v'den
w'ye giden ve her tepe noktasını tam olarak bir kez
ziyaret eden minimum uzunlukta bir yol bulmak için
oldukça zaman alıcı bir yoldur. Ne yazık ki, hiç kimse
rastgele graflar için çok daha pratik bir yöntem
bilmiyor. Bu problem gezgin satıcı probleminin bir
TABLO 1 Şekil 4'teki grafikte a'dan e'ye versiyonudur. Bu problemi daha sonra tartışacağız.
kadar her tepe noktasından tam olarak
bir kez geçen yollar ve uzunlukları.

8
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
Örnek: Benzerlik Grafikleri
Bu örnek, "benzer" nesneleri, nesnelerin özelliklerine göre sınıflar halinde gruplama sorunuyla ilgilidir.
Örneğin, belirli bir algoritmanın birkaç kişi tarafından C++ dilinde uygulandığını ve "benzer" programları
programların belirli özelliklerine göre sınıflara ayırmak istediğimizi varsayalım (bkz. Tablo). Özellik
olarak şunları seçtiğimizi varsayalım

1. Programdaki satır sayısı


Çizge Kuramı

2. Programdaki geri dönüş ifadelerinin sayısı


3. Programdaki fonksiyon çağrılarının sayısı

TABLO 2 Aynı algoritmayı uygulayan C++ programları.

9
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
Bir benzerlik grafiği G aşağıdaki gibi oluşturulur. Köşeler programlara karşılık gelir. Bir köşe (𝑝1 , 𝑝 ,
𝑝23 ) ile gösterilir, burada 𝑝𝑖 𝑖 özelliğinin değeridir. Benzerlik fonksiyonu s aşağıdaki gibi tanımlanır.
Her v = (𝑝1 , 𝑝 , 𝑝23 ) ve w = (𝑞 , 𝑞12 , 𝑞3 ) köşe çifti için

𝑠 𝑣, 𝑤 = 𝑝1 - 𝑞1 + 𝑝2 - 𝑞2 + 𝑝3 - 𝑞3 .

Eğer 𝑣𝑖 𝑖 programına karşılık gelen tepe noktası olsun, elde ederiz


Çizge Kuramı

𝑣 ve 𝑤 iki programa karşılık gelen köşeler ise, 𝑠 𝑣, 𝑤 programların ne kadar farklı olduğunun bir
ölçüsüdür. Büyük bir 𝑠 𝑣, 𝑤 değeri benzemezliği gösterirken, küçük bir değer benzerliği gösterir.
10
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
Sabit bir 𝑆 sayısı için, 𝑠(𝑣, 𝑤) < 𝑆 ise v ve w köşeleri arasına
bir kenar ekleriz. (Genel olarak, S'nin farklı değerleri için farklı
benzerlik grafikleri olacaktır). v = w ise veya v'den w'ye bir yol
varsa v ve w'nin aynı sınıfta olduğunu söyleriz. Şekil 5'te,
Tablo 2'deki programlara karşılık gelen grafiği S = 25 ile
gösteriyoruz. Bu grafikte programlar üç sınıfa ayrılmıştır: {1, 3,
Çizge Kuramı

5}, {2} ve {4}. Gerçek bir problemde, S için uygun bir değer
Şekil 5: deneme yanılma yoluyla seçilebilir veya S değeri önceden
S = 25 ile Tablo 2'deki belirlenmiş bazı kriterlere göre otomatik olarak seçilebilir.
programlara karşılık gelen bir
benzerlik grafiği.

11
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
Örnek (n-Küp (Hiperküp)):
Genellikle seri bilgisayar olarak adlandırılan geleneksel bilgisayar, her seferinde bir komut yürütür. Bizim
"algoritma" tanımımız da her seferinde bir komutun yürütüldüğünü varsayar. Bu tür algoritmalara seri
algoritmalar denir. Donanım maliyetleri düştükçe, bir seferde birden fazla komutu yürütebilen çok sayıda
işlemciye sahip paralel bilgisayarlar inşa etmek mümkün hale gelmiştir. Grafikler genellikle bu makineleri
tanımlamak için uygun modellerdir. İlgili algoritmalar paralel algoritmalar olarak bilinir. Birçok problem seri
bilgisayarlar yerine paralel bilgisayarlar kullanılarak çok daha hızlı çözülebilir. Paralel hesaplama için n-küp
veya hiperküp olarak bilinen bir modeli tartışıyoruz.
Çizge Kuramı

n-küpte 2n işlemci vardır, n ≥ 1, bunlar 0, 1, . . . etiketli köşelerle temsil edilir (bkz. Şekil 6). , 2𝑛 - 1.

Her işlemcinin kendi yerel belleği vardır. Bir kenar, etiketlerinin ikili gösterimi
tam olarak bir bit farklıysa iki köşeyi birbirine bağlar. Bir zaman birimi
sırasında, n-küpündeki tüm işlemciler bir komutu aynı anda yürütebilir ve
ardından bitişik bir işlemciyle iletişim kurabilir. Bir işlemcinin bitişik olmayan
bir işlemciyle iletişim kurması gerekiyorsa, ilk işlemci alıcıya giden yolu ve
alıcının nihai hedefini içeren bir mesaj gönderir. Bir işlemcinin bitişik
olmayan bir işlemciyle iletişim kurması birkaç zaman birimi alabilir.
Şekil 6 3'lü küp.
12
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
n-küpü özyinelemeli olarak da tanımlanabilir. 1-
küpünün 0 ve 1 olarak etiketlenmiş iki işlemcisi ve bir
kenarı vardır. 𝐻1 ve 𝐻2 , köşeleri ikili 0, 1, . . .
şeklinde etiketlenmiş iki (n - 1) küp olsun. , 2𝑛−1 - 1
(bkz. Şekil 7). Köşelerin aynı etiketlere sahip olması
koşuluyla, her bir köşe çifti arasına, biri 𝐻1 'den diğeri
𝐻2 'den olmak üzere bir kenar yerleştiririz. Daha sonra
Çizge Kuramı

𝐻1 'daki her bir köşe üzerindeki L etiketini 0L olarak


değiştiririz ve 𝐻2 'daki her bir köşe üzerindeki L
etiketini 1L olarak değiştiririz. Bir n-küp elde ederiz.

N-küp önemli bir hesaplama modelidir çünkü bu tür


birkaç makine inşa edilmiş ve çalışmaktadır. Ayrıca,
diğer birçok paralel hesaplama modeli hiperküp ile
simüle edilebilir.

Şekil 7 İki 3'lü küpün birleştirilmesi


4'lü bir küp elde edin.

13
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
Tanım: 𝐾𝑛 olarak gösterilen n köşeli tam çizge, n köşeli basit çizgedir ve içinde
her farklı köşe çifti arasında bir kenar vardır.

Örnek: Dört köşeli tam grafik, 𝐾4 , Şekil 8'de gösterilmektedir.

Tanım: 𝑉1 ∩ 𝑉2 = ∅, 𝑉1 ∪ 𝑉2 = V olacak şekilde V'nin 𝑉1 ve 𝑉2


Çizge Kuramı

(muhtemelen boş) alt kümeleri varsa ve E'deki her kenar 𝑉1 'daki bir tepe
noktası ve 𝑉2 'deki bir tepe noktası ile ilişkili ise bir G = (V, E) grafı iki
taraflıdır.

Şekil 8 𝐾4 grafiğinin
tamamı.

Örnek: Şekil 9'daki grafik iki parçalıdır, çünkü eğer

1 = 𝑉{𝑣1 , 𝑣2 , 𝑣3 } ve 𝑉2 = {𝑣4 , 𝑣 }5

her kenar 𝑉1 'deki bir tepe noktasına ve 𝑉2 'deki bir tepe noktasına bağlıdır.
Şekil 9 İki parçalı bir grafik.
14
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
EGZERSİZLER

Bir turnuvada, A takımı B takımını bir kez yendi, C takımı D takımını bir kez yendi, A takımı
C takımını iki kez, B takımı D takımını bir kez ve B takımı A takımını bir kez yenmiştir.

Alıştırma 1-2'de, turnuvayı modellemek için bir grafik kullanın. Takımlar köşelerdir. Ne tür bir
kullanılan çizge (örn. yönlendirilmemiş çizge, yönlendirilmiş çizge, basit çizge).

1. Takımlar oynadıysa takımlar arasında bir üstünlük vardır.


Çizge Kuramı

Cevap: Bu grafik yönlendirilmemiş, basit bir grafiktir.

15
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
2. 𝑡𝑖 takımından 𝑡𝑗 takımına, 𝑡𝑖 'nin 𝑡𝑗 üzerindeki her zaferi için bir kenar vardır.

Cevap: Çizge yönlendirilmiş, basit olmayan bir çizgedir


Çizge Kuramı

3. Verilen grafikte neden a'dan a'ya giden ve her kenardan tam olarak bir kez geçen bir yol olmadığını açıklayın.

Cevap: Tek sayıda kenar bazı köşelere (c ve d)


dokunduğundan, a'dan a'ya her kenardan tam
olarak bir kez geçen bir yol yoktur.

16
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
4. Aşağıdaki G = (V, E) grafı için V, E, tüm paralel kenarları, tüm döngüleri, tüm izole köşeleri bulun ve
G'nin basit bir graf olup olmadığını söyleyin. Ayrıca, 𝑒1 kenarının hangi köşelere denk geldiğini söyleyiniz.

Cevap: V = {𝑣1 , 𝑣 , 𝑣23 , 𝑣4 }. E = {𝑒1 , 𝑒2 , 𝑒 , 𝑒34 , 𝑒5 , 𝑒 }.6


𝑒1 ve 𝑒6 paralel kenarlardır. 𝑒5 bir döngüdür. Yalıtılmış
köşe yoktur. G basit bir çizge değildir. 𝑒1 , 𝑣1 ve 𝑣2 ile
çakışmaktadır.
Çizge Kuramı

5. 3 𝐾ve 𝐾5 çizin.
Cevap ver:
17
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
6. Grafiğin iki parçalı olup olmadığını belirleyin. Eğer grafik iki parçalı ise, ayrık tepe kümelerini belirtiniz

Cevap ver: Bipartite. 𝑉1 = 𝑣1 , 𝑣2 , 𝑣5 , 𝑉 = 𝑣2 3 , 𝑣4


Çizge Kuramı

7. Aşağıdaki grafikte b'den e'ye giden ve her bir tepe noktasından geçen minimum uzunlukta bir yol bulun
tam olarak bir kez

Cevap: (b, c, a, d, e)

18
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
8. 2'li bir küp çizin
Cevap ver:

9. Grafikte köşeler ofisleri temsil etmektedir. İki ofis arasında bir iletişim bağlantısı varsa, bir kenar iki
Çizge Kuramı

ofisi birbirine bağlar. Herhangi bir ofisin bir diğeriyle ya doğrudan bir iletişim bağlantısı aracılığıyla ya da
başkalarının mesajı iletmesini sağlayarak iletişim kurabileceğine dikkat edin. Bir örnek vererek, bazı
iletişim bağlantıları kopsa bile tüm ofisler arasında iletişimin hala mümkün olduğunu gösterin.

Cevap ver:

19
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
10. Aşağıdaki grafikte köşeler şehirleri, kenarlardaki sayılar ise şehirleri temsil etmektedir.
belirtilen yolların yapım maliyetleri. Tüm şehirleri birbirine bağlayan en düşük maliyetli yol sistemini bulun.

Cevap
ver:
Çizge Kuramı
20
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ
11. Bir öncelik grafiğinde, köşeler belirli eylemleri modeller. Örneğin, bir köşe bir bilgisayar programındaki
bir ifadeyi modelleyebilir. Eğer v tarafından modellenen eylem w tarafından modellenen eylemden önce
gerçekleşmek zorundaysa v köşesinden w köşesine bir kenar vardır. Aşağıdaki eylemler için bir öncelik
grafiği çizin.

𝑥= 1
𝑦=2
Çizge Kuramı

𝑧=𝑥+𝑦
𝑧=𝑧+1

Cevap ver:
21
PROF. DR. MURAT SUBAŞI ATATÜRK ÜNİVERSİTESİ

You might also like