Bone Mesaj tarihi: Ekim 6, 2012 Paylaş Mesaj tarihi: Ekim 6, 2012 kolay bir olaya benziyor gerçi ama deneyince nasıl çözülceğini bulamadım. elimizde random adet random sayılar var. (örneğin random adetimiz 9, random sayılar ise 1 3 5 7 8 10 14 16 20 olsun.) bu sayıları iki kümeye ayırcağız, sayılar kümelere öyle sıralancak ki, her kümenin içindeki sayıların toplamı, iki kümenin de birbirlerine en yakın toplama değerlerine sahip olmasını sağlıyacak. biraz karışık bir anlatım oldu ama, sadeleştirmek için sayıları 1-2-3-4 yapalım. bu sayıları iki kümeye, 1-3 x 2-4, 1-2 x 3-4, 1 x 2-3-4, 1-3-4 x 2 gibi farklı şekillerde ayırabiliriz. fakat iki kümeyi 1-4 ve 2-3 diye ayırdığımız durumda, 1 ve 4'ün toplamı 5, 2 ve 3'ün toplamı 5 oluyor, ve iki küme birbirine olabilecek en yakın toplamları elde ediyor. ve cevabımız A: 1,4, B: 2,3 olmuş oluyor. kümeler tam olarak birbirine eşit olmak zorunda da değiller. bir başka örnek olarak, 1-2-3-4-5 yapalım. 1-2-5 ile 3-4'ü ayrı kümelere koyduğumuzda, bir kümenin toplamı 8, diğerininki 7 ediyor. iki kümenin birbirine en yakın olduğu değerler bunlar. bu durumda cevabımız A: 1,2,5, B: 3-4 oluyor. yani 1 3 5 7 8 10 14 16 20 sayılarını A ve B diye ayırdığımızda, A ve B kümeleri, kombinasyonlar arasında, mümkün olan en yakın değerlere sahip olması gerekiyor. herhangi bir sayı listesini bahsettiğim şekilde iki ayrı kümeye ayırmak için nasıl bir programlama yapmak gerek. herhangi bir dil kullanabilirsiniz, C, Java, PHP vs... Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
fizban Mesaj tarihi: Ekim 6, 2012 Paylaş Mesaj tarihi: Ekim 6, 2012 NP bu problem. Tum cozumleri enumerate etmen lazim. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Bone Mesaj tarihi: Ekim 6, 2012 Konuyu açan Paylaş Mesaj tarihi: Ekim 6, 2012 illa olasılıkları tek tek hesaplatçaz yani? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Vidar Mesaj tarihi: Ekim 6, 2012 Paylaş Mesaj tarihi: Ekim 6, 2012 http://en.wikipedia.org/wiki/Knapsack_problem Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Havenless Mesaj tarihi: Ekim 6, 2012 Paylaş Mesaj tarihi: Ekim 6, 2012 Bütün sayıları dizi olarak ataman gerek önce, sonra teker teker sıralı bir biçimde bunları her sayıyla ayrı ayrı toplatarak en baştaki büyük kümenin toplamının yarısından küçük olacak şekilde elde ettiğin toplamları toplamaya başlayacaksın rastgele. Algoritmayı çıkarttım gibi ama yazmak epey uzun olur. Sayılar toplanırken elde ettiğin toplamları iki ayrı dizide toplayacaksın, yine bu döngü iki kümenin toplamı eşitleninceye kadar sürecek büyük olasılıkla. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Bone Mesaj tarihi: Ekim 6, 2012 Konuyu açan Paylaş Mesaj tarihi: Ekim 6, 2012 eyvallah o zaman sağol Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Havenless Mesaj tarihi: Ekim 6, 2012 Paylaş Mesaj tarihi: Ekim 6, 2012 Formülü yeni gördüm bu arada, daha doğru sanırım o, toplamı maximize ettiğinden orada büyük eşit kullanmış. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Sawer Mesaj tarihi: Ekim 6, 2012 Paylaş Mesaj tarihi: Ekim 6, 2012 direk knapsack Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar