Bir süredir paralel ortamda çalışan bir moleküler optimizasyon kodu ile uğraşıyorum. Çoğu şeye sıfırdan başladım, temel sağlam olsun, ileride başka sistemlere de kolayca ayarlayıp aktarabileyim diye (şu anda yazmakta olduğum kod sadece grafit bazlı karbon yapıları konu edinebiliyor). Bu kod yazım sürecinde gerçekten şaşırdığım şeyler oldu ki bunların başında iki sene saçımı başımı yolmama rağmen pek bir şey anlamadığım Polak-Ribiere (Fletcher-Reeves‘i de dahil edebiliriz bittabii ki!) algoritmasını bir gecede hatim eder gibi ÇOT! diye kavramam oldu. Şu anda eldekiler:
1) Bir fonksiyonun minimumunu hesaplayan bir algoritma + kod
2) İş yükünü performansa göre bilgisayarlara dağıtan bir algoritma
3) Bir sistemdeki etkileşimleri bulan, bunları optimal bir şekilde işleme çeviren algoritma + kod
4) Allinger’in MM3 formülasyonuyla sistem enerjisini hesaplayan algoritma + kod
Şekilde görüldüğü üzere, helva yapmak için bütün malzeme var elimizde, inşallah helvayı da birkaç gün içinde yiyeceğiz.. 8)
Kodu standart C++’da yazıyorum. Başta şeytan çok dürtmüştü Visual C++ .NET Framework’de yazmam için ama iyi bir direniş sergiledim. Hatta onun editörünün envai çeşit otomatik-tanımlama lüksünden bile vazgeçip, doğruca VIM’in kollarına bıraktım kendimi. Derleyici olarak da g++ kullanıyorum, “Kod Linux’da da derlenir mi acaba?” derdinden uzak duruyorum.. 8) (koduyorum, çıkıyorum.. 8)
Hamiş Mesajı yazdım, aklıma geldi, bilim dünyasında şöyle bir kötü yönelim var: insanlar sanki makaleleri mümkün olduğunca anlaşılmaz, karışık yazmak için çaba sarfediyorlar. Hal böyle olunca da, seminer veren bir amcanın seminerini dayandırdığı ve bir türlü anlayamadığınız o “ağır” makalesi seminer sırasında “aaa, bu kadar kastırdığı şey bu muymuş!?!” nidanızla ve bir şekilde kazıklandığınız duygusuyla sizi başbaşa bırakıveriyor. Genelde kitaplar makalelerden çok daha açık bir anlatıma sahip ve dahi daha bir user-friendly olsa da, sevgili Elijah Polak’ın 1971 tarihli Computational Methods in Optimization adlı kült kitabı ne yazık ki gereksizce bilgiç takılıyor. Sonuçta bu kitapta hedeflediği şeyin bir Optimizasyon Teorisi kurmak olduğunu söylüyor, yani derdi sizin işinize yarayacak bir kitaptan çok, yeni bir dilin alfabesini ispatlarla temelden kurmak ama temcit pilavı gibi dönüp dolaşıp 3 tane algoritmayı 300 sayfa boyunca önümüze koyması biraz karizmayı çiziyor. 8( Bunun tam tersi bir örnek olarak ise rahatlıkla Peter S. Pacheco’nun Parallel Programming with MPI‘ını verebilirim. Peter Amca anlatacağı şeyleri o kadar doğallıkla ve sevecenlikle sunuyor ki! Hastası olduğum Michael Morrison’ın Understanding Quantum Physics : A User’s Manual‘ından sonra roman gibi bir solukta okuduğum ikinci fizik/bilim/lala kitabı..
Understanding Quantum Physics : A User’s Manual — Ah ah ah… Girişi yazınca bu sefer de aklıma yıllar önce (1998!) Amazon’a kitapla ilgili yazmış olduğum yorum geldi, kontrol ettim, hala orada. ‘A Reader’ olarak görünüyorum yalnız — acaba eskiden de öyle miydi, hatırlamıyorum…
A marvelous book of quantum physics…, October 9, 1998
Reviewer: A reader
The “Bluffer’s Guide” to Quantum Physics; everything a student needs is included, after a time, one can not distinguish the fact that he’s reading “a scientific book of formulas and all the other stuff”. Definitely a “must buy”. It gives you the feeling that you can even go to the end, look who’s the murderer, and then come back.
Makale… — Eğer yazdığınız bilimsel makale anlaşılır olur ve olur olmaz herkes tarafından anlaşılırsa, sizin büyük ve akıllı olduğunuzu ispatlayacak neyiniz kalır ki elinizde?
Bir de şey var tabii; eğer bütün ara basamakları verir ve her şeyi ayrıntılı olarak açıklarsanız, ilerde yazmayı planladığınız fikirlerinizi sizden önce başka birileri makale haline getirebilir.
Yani sonuçta hepimiz ekmek parası ve ego tatmini arayan canlılar olduğumuza göre makalelerin de anlaşılmaz olmaları doğaldır.
De mi?
Yaş farkı… — Bu arada 9 Ekim 1998’de ben lise 1’e yeni başlamıştım, fizikçi olmayı düşünüyor olabilirim ama kararımı vermemiştim, kuantum diye bir şeyin de var olduğunu -belki- biliyorumdur.
(Gerçekle yüzleşin; yaşlısınız… 8D)
yaşşşşş… — Benim daha çok saçım var ama, n’aber dörtgöz?
Ayrıca: 27’sinde görüşeceğiz nasıl olsa, o zamana kadar.. 8)
Kodlar arasında bir çıkış bulmak! — Merhaba,
Başlıktan anlayacağınız üzere pozitif düşünce ürünü şeylerden hoşlanırım. Başlığı “Kodlar arasında boğulmak” şeklinde de yazabilirdim. İmkanınız varsa bu olumsuz başlığa çizgi çekiniz ki gözler görmesin…:)
Şaka bir yana sizde de çok pozitif yanlar görmekteyim. Allah yolunuzu açık etsin. ABD’ye gitmeyip ülkemize faydalı olmanız çok taktir edilesi bir durum. Kendi adıma teşekkürler…
Bende kendi alanımda (elektronik) programlama ile uğraşmaktayım. Övünmek adına değil işin zorluğunu belirtmek adına hep derdim: “Programcılığın babasını” biz yapıyoruz. Meğerse siz de dedesi ile müşerref olmuşsunuz ne deyim.
Evet, biz de assembly dilinde donanım programlama yapıyoruz. Avcunuzdaki adeti küçük komutun harf sayısı ondan küçük işlerle boğuşuyoruz. Eminim siz de teorik olarak da olsa ilginç işlerle uğraşıyorsunuzdur.
Sormak istediğim bir şey var: Acaba siz de VHDL programlama gibi bilgisayar yazılımları kullanarak donanım üzerinde çalışmadan önce algoritma veya bunları işleten operatörleri bilgisayar ortamında mı (simüle ediyorsunuz)tasarlıyorsunuz? Yani anldığım kadarıyla fiziksel bir yönü var ama herhalde önce işin teorisi. Gerçi fiziksel yönünü de merak etmekteyim.
Sevgiler, saygılar…
SDB@