B'log


B'log.jpg

Graphic from internet, Anonymous.

Jun 26 2015: Weasel Program

Weasel program is a good point to start thinking about behavioural evolution of manufacturing companies. Let say, -hypothetically- we have a company which is producing some products with a set of tools (i.e. best practices). This toolset includes limited number of tools (say genomes) and called genetic combination. Accordingly, this company is being exist in a limited business environment. The business environment has a limited set of environmental factors (e.g. common industrial best practices' requirements), called environmental set. In each step, the company evolves and try to adapt to the environment. As a beginning, we can imagine that the environment can be in one of two different state in the proposed model of simulation: (1) Environmental set is not changing, it is in a steady state; (2) Environmental set is changing randomly in each step, it is in a transient period. I am going to call these two situations as scenarios.

Learn more

Jun 25 2015: Meeting or Not Meeting

I have joined a faculty meeting yesterday and had a chance to see that "I shouldn't be a wise man", again. Selfnote: Next time, if you need to say something, try to do that: "just shut the fuck up".

Oct 17 2014: Chapters from 'On the Origin of Species'

Chapter IV Natural Selection - its power compared with man's selection - its power on characters of trifling importance - its power at all ages and on both sexes - Sexual Selection - On the generality of intercrosses between individuals of the same species - Circumstances favourable and unfavourable to Natural Selection, namely, intercrossing, isolation, number of individuals - Slow action - Extinction caused by Natural Selection - Divergence of Character, related to the diversity of inhabitants of any small area, and to naturalisation - Action of Natural Selection, through Divergence of Character and Extinction, on the descendants from a common parent - Explains the Grouping of all organic beings.

Sep 26 2014: XML day

Today is a XML day for me. I am trying to parse a CSV file to a meaningful XML file to produce represent it on SCOM architecture. I wrote a Python code for parsing a basic SCOM CVS file to a fundamental SCOM XML file like that:

Python code:

scom.csv file:

and the output is scom.xml file:

Sep 22 2014: Time and galaxies

Today's big news is coming from a Nature article by R. Brent Tully, Hélène Courtois, Yehuda Hoffman & Daniel Pomarède: The Laniakea supercluster of galaxies.

The supercluster of galaxies that includes the Milky Way is 100 times bigger in volume and mass than previously thought, a team of astronomers says. They have mapped the enormous region and given it the name Laniakea — Hawaiian for 'immeasurable heaven'. Galaxies tend to huddle in groups called clusters; regions where these clusters are densely packed are known as superclusters. But the definition of these massive cosmic structures is vague.

The new study, published in Nature[1], describes a novel way to define where one supercluster ends and another begins. A team led by Brent Tully, an astronomer at the University of Hawaii in Honolulu, charted the motions of galaxies to infer the gravitational landscape of the local Universe, and redraw its map.

{{#widget:YouTube|id=rENyyRwxpHo|width=560px|height=315px}}

Sep 7 2014: 'Gist'ing day

Today is a Gist day for me. I was trying to embed my GitHub Gists in this website, and I did it. How?

At first, I must to say that this website is working on the Mediawiki platform. I am using an extension to embed Gists into my website (eg. Supply_Chain_Markup_Language_(SCML)) named GistHub, created by Adam Meyer and Jan Musinsky. And the second there are two Chrome extensions (by https://app.gistboxapp.com) to manage my gists. I am happy to be able to integrate these two. Yay! Today is the Gist'ing Day.

Here the code:

1 def quickSort(arr):
2 	less = []
3 	pivotList = []
4 	more = []
5 	if len(arr) <= 1:
6 		return arr
7 	else:
8 		pass

And here the example: Best.

~ ilter


Sep 7 2014: Periodic table and currency

Last week, Dr. Kiyanda (my roommate at ENCS Concordia University) and me, we were talking about metals as currency materials. After checking couple of websites, as some people mentioned it before on TV, we noticed that there are only three metals on the periodic table (Gold, Silver and Copper) which are eligible for processing and making metal currency.

Our criteria about the metal currency was, it (1) could be processed by middle age technologies, (2) not so rare and not so common in nature, (3) doesn't oxidized suddenly like Aluminum. Except these three, some metals could be find commonly in nature like Iron or so rare like Platinum, some others absolutely have been dangerous to touch or carry like Zinc, some of them were impossible to extract and process in those days like Titanium.

After checking some properties of possible metals, we could understand the metal currency idea. It was a nice morning conversation.

Maybe you want to check them on the periodic table yourself via http://www.ptable.com/ or read some history on wikipedia:History_of_money.

Best.

~ ilter


Sep 5 2014: Human evolution

Be aware yourself. Didn't you read the J. Pickrell's article yet? It was published on NewScientist's website in 2006.

Human Evolution

~ ilter


Sep 5 2014: Website update

I have rearranged Research section of my website for the extensions of SCOM. There is a BIPOLAR Hub right now. I have collected all stuff related to SCOM and put in this hub thingy.

Content of the hub is planned as (tentative):

  • Ontological Supply Chain Management (SCOM)
  • Supply Chain Markup Language (SCML)
  • SCOM Examples
  • SCOM Links
  • SCOM Templates
  • SCOM Terms

BIPOLAR Hub

~ ilter


Sep 2 2014: XML base for SCOM

Let me marking today is a beginning day to construct a XML base for SCOM.

1   <scom>
2     <name>Example model</name>
3     <type>Basic</type>
4   </scom>

:) Funny, isn't it?

~ ilter


Aug 25 2014: Welcome to SCOM

I am currently working on a project, SCOM - Ontological Supply Chain Management Model, which aims to create a dynamic model for tracking and tracing product/service, members, flow and operations of a supply chain with an upper ontology.

It will hopefully let us to track any product/service and to trace its all physical, social or mental components (raw materials, parts, know-how, patents, managerial strategy etc.) efficiently.

We may use outputs of this project in the future to track or trace almost all properties in a not-usual supply chain and operations management, such as interstellar supply chains (eg. raw materials from the planet Mars), health-related supply chains (eg. blood products), food management (eg. genetic structures of agricultural products), environmental issues of production systems (eg. nuclear power usage in a production process) and protection of art and artistic materials (eg. tracing an artifact).

You can find out more info about the SCOM project, as well as basic SCOM diagrams at hkilter.com.

Best.

~ ilter


2008: Rassallık Üzerine

Rassallık, düzensizlik veya öngörülemezlik durumunu anlatmaktadır. Rassal süreç ise, sonuçları deterministik olarak açıklanamayan ancak bir olasılık dağılımını takip eden bir olaylar bütünüdür.

İstatistiğin konuları içinde sıklıkla karşılaştığımız rassallık belirli bir korelasyondan (ilişkiden) yoksun olayları istatistiksel olarak açıklamak için kullanılmaktadır.

Rassallık çeşitli bilim dallarında son yüzyılda önemini artırmış görünmektedir. Örneğin fizikte, termodimanik ve gazların özellikleri gibi konularda istatistiksel mekaniğin gelişmesinde moleküllerin rassal hareketleri bir fikir olarak ortaya çıkmış ve daha sonra kuantum mekaniğinin de temelini oluşturacak konularda kullanılmaktadır. Biyolojide, evrim teorisinin temelinde yeralan, genlerin çevre koşullarından etkilenerek mutasyona uğraması ve canlının hayatta kalma başarısının belirlenmesi gibi konularda kullanılmaktadır. Matematikte, olasılık teorisinin içinde yeralan rassallık, olayların oluşma ihtimallerini matematiksel olarak açıklamak için kullanılmakta, kökeni bahis oyunlarına dayanmaktadır. İstatistik, gözlem yoluyla belirlenen verilerin olasılık dağılımlarını belirlemek için kullanılmaktadır. Simülasyon (benzetim) ise, gözlem yaparak elde edilemeyecek çoğunlukta rassal değerler oluşturmak için üzerinde çalışılan bir alandır.

Rassallık öngörülemezlik değildir. Örneğin, kriptoloji söz konusu olduğunda, aynı mesajı alan iki kişiden biri mesajı tamamen rassal olarak algılarken, diğeri için, mesajın “anahtarına” sahip olduğu için, tamamen anlamlı olacaktır. Hatta deterministik kozmolojide uzayın rassal olmadığı ancak öngörülemez olduğuna dair hipotezler de kullanılmaktadır.

Rassallık, matematiksel bir algoritmayla ortaya çıkarıldıysa yapay rassallık (pseudorandom) olarak adlandırılabilir. Yapay rassallık ise gerçekte öngörülemezdir. Bir olayın rassallığında, aslında o olayın saf rassal olmadığını, olayın olasılık veya beklenen değer gibi kavramlarla açıklanabilen bir karakteristiğe sahip olduğunu görüyoruz.

Örneğin bir madeni para atışının sonucunu öngöremez olmamıza rağmen, sonuçlarının (yazı veya tura) ortaya çıkma olasılıklarından bahsedilebilir ve rassaldır. On atışın beşinin tura gelmesini beklememiz işte bu olasılığa dayalı bir beklenti olacaktır. Gerçekleşen değerler farklı olabilir ancak yeterince çok sayıda atışın sonunda yazı ve tura sayılarının birbirine çok yaklaştığını görmemiz de bu olayın olasılığının bir sonucudur.

Rassallık temelde üç durum sonucunda ortaya çıkabilir:

  1. Çevredeki olaylardan (örn: Brownian Motion)
  2. Başlangıç durumlarından (örn: Kaos teorisi)
  3. Sistem tarafından (örn: Matematiksel olarak oluşturulmuş algoritmalar)

2008: Simülasyon

Simülasyon (benzetim), bir sistemin davranışlarının belirlenebilmesi için o sistemin laboratuvar ortamında oluşturulması anlamına gelebilmektedir. Amaç, gerçek sistemin davranışlarının ve sistem çıktılarının benzerlerinin oluşturulması ve sistemin tanımlanmasıdır. Bir simülasyon, bir sistemin belirli bir zaman içinde sayısal olarak evrimleşmesini modellemek için kullanılabilmektedir.

Bir analitik modelin simülasyonuna şu durumlarda ihtiyaç duyabilmekteyiz:

  1. Analitik modelin altında yatan bütün varsayımların geçerli olmadığı durumlarda,
  2. İstenen sonuçları elde etmenin matematiksel karmaşıklıktan dolayı zor olduğu durumlarda,
  3. İyi (optimal olması gerekmeyen) çözümlerin yeterli olduğu durumlarda.

Temelde iki tür simülasyondan bahsedilebilir: Sürekli ve Kesikli. Sürekli simülasyon, sistemi onun durumundaki değişikliği anlık olarak takip edebileceğimiz bir modelleme sağlarken, kesikli simülasyon sistemi belirli zaman dilimlerinde takip edebileceğimiz bir modelleme anlamına gelmektedir.

Bir çok pratik problemin simülasyon modeli bilgisayarların kullanımını gerektirmektedir. Bir simülasyon modelinin oluşturulmasında kullanılan farklı yaklaşımlar olabilmektedir.

  1. Excel’in kullanılması (@Risk, Crystal Ball gibi “add-on”lar ile birlikte)
  2. Programlama dillerinin kullanılması (FORTRAN, PL/1, C, Pascal, Basic, vb.)
  3. Simülasyon dillerinin kullanılması (GPSS, SIMAN, SLAM vb.)
  4. Bir simülasyon yazılımının kullanılması (ARENA, PROMODEL vb.)

Simülasyon modellerini etkin kullanabilmek için, modelleme ve programlama bilgisinin yanısıra, istatistik bilgisinin de önemli olduğu görülmektedir.

Örnek olarak “para atışı simülasyonu”nu inceleyelim.

Para atışlarını, sonuçları Yazı (Y) veya Tura (T) ile sonuçlanacak olaylar olarak tanımlayalım (dik düşme olasılığının olmadığı, para atanın bu konuda bir profesyonelliğin olmadığı, paranın hilesiz olduğu vb. varsayımlarımız var). Parayı havaya atacağız ve sonucunu bir kağıda not edeceğiz, olası sonuç uzayı iki alternatiften oluşuyor {Y, T}. Diyelim ki, 10 defa atış yaptık ve sonuçları 6 Y ve 4 T şeklinde oldu. Y/T oranı 1.5 olarak gerçekleşmiş (1 olması gerekirdi) demektir. Oysa Y veya T gelme olasılığının %50 (1/2) olduğunu biliyoruz. Nedir yanlış giden? Deney sayısı yeterli olmamış, bu örnekte kuramın bize söylediği sonucun oluşmaması şeklinde ortaya çıkmıştır. Excel’deki simülasyonuna bakalım (Şekil 1).

Şekil 1

Bu şekildeki sonuçlar bizim kağıda yazdığımız gibi oluşturulmuştur, oran 1.5 olarak görünmektedir. Bu simülasyonda atışlar E sütünundaki rassal değişkenler kullanılarak simüle edilmektedir. E sütunundaki rassal değerlere bakarak bu değerlere karşılık gelen sonuç (VLOOKUP fonksiyonu ile) atışın sonucu olarak yazılmaktadır. G ve H sütunlarındaki tablo rassal sayı haritası olarak tanımlanmaktadır. Olası sonuç uzayının olasılıklarını belirlediğimiz yapıya verdiğimiz isim “rassal sayı haritasıdır”. Şekil 2 ‘de bu simülasyon sırasında kullanılan formüller görülmektedir.

Şekil 2

Oysa yeterli sayıda para atışı (veya simülasyon adımı) gerçekleştirilmiş olsaydı, yukarıda bahsedilen oranın 1′e yaklaşacağını görmemiz gerekirdi (Şekil 3).

Şekil 3

Şekil 3′deki simülasyon 1000 adımdan oluşmaktadır.


2008: Monte Carlo Yöntemi

Monte Carlo yöntemi, tekrarlanan rassal değerlerden belirli sonuçlar çıkarabilmek için kullanılan sayısal bir yöntemdir, fiziksel ve matematiksel sistemlerin simülasyonu için kullanılmaktadır. Kesin sonuç verecek bir deterministik algoritma ile hesaplanamayacak durumlarda tercih edilmektedir.

Monte Carlo yöntemi sistemlerin simülasyonları sırasında rassal değerlerin özelliklerinin belirlenmesi sırasında kullanılmaktadır.

Monte Carlo yöntemi temel olarak şu aşamalardan oluşur:

  1. Olası girdilerin tanımlanması,
  2. Olası girdilerden rassal olarak değerlerin seçilmesi ve deterministik hesaplamanın yapılması,
  3. Bağımsız hesaplamaların sonuçlarının birleştirilerek sonuca ulaşılması.

Örnek olarak pi değerinin yaklaşık değerinin hesaplanması Monte Carlo yönetimi ile şu şekilde olabilir: Alanı bir birim olan bir karenin içine tam olarak oturacak bir daire çizildiğinde dairenin alanının karenin alanına oranı pi/4 kadar olacaktır. Karenin içine rastgele atılacak küçük objelerin (kum, pirinç tanesi vb.) uniform dağıldığı kabul edildiğinde, dairenin içinde kalan obje sayısının atılan obje sayısına oranı pi/4 kadar olacaktır. pi’nin değeri bu şekilde hesaplanabilir.


Kuyruk Sistemi Çalışması

Kuyruk Sisteminin Tanımı ve Açıklaması: Bu bölümde üzerinde çalıştığınız ve gözlem yaptığınız kuyruk sisteminin temel özelliklerini belirtmeniz beklenmektedir. Sistemin işleyişi, müşterilerin ve sunucuların tanımları ve işlevleri, bekleme hattının özellikleri, servisin ne olduğu, sistemin genel olarak yapısı, çalışmaya başlamadan önceki durumu gibi konular bu bölümde bulunacaktır. Alt başlıklar olarak Sistem, Müşteriler, Sunucular ve Bekleme Hattı kullanılabilir. Geliş süreci ve servis süreciyle ilgili ölçüm sonuçlarına dayanmayan gözlemler ve sistemin ne zaman incelendiği, nerede bulunduğu gibi konular burada bulunabilir. Sunucu sayısı ve özellikleri, bekleme hattı kapasitesi ve potansiyel müşteri sayıları ile kuyruk sisteminin sayısal performans ölçütleri için temel özellikler bölümde verilebilir.

Ölçüm ve Ölçüm Sonuçları: Sistemin ölçülmesi ve analiz edilmesi bu bölümde yer alacaktır. Ölçümlerde kullanılacak zaman analist tarafından belirlenecektir, bazı sistemlerde gün, saat, dakika veya saniye olarak belirlenebilir, bu sistemin detaylı bir şekilde ele alınmasını sağlayacaktır. Ölçüm sayısı istatistiki anlamlılık ifade edecek ve tatmin edici bir sayı olarak seçilmelidir. Ölçümler iki konuda gerçekleştirilecektir: Geliş Süreci ve Servis Süreci. Geliş süreci müşteri gelişleri arasındaki zamanın ölçülmesi anlamına gelmektedir. Bunun için müşterilerin sisteme girişleri tam olarak belirlenmelidir. Yığın girişlere izin vermeyen (aynı anda gelen müşterilerden sadece biri için zaman tutulacak) bir ölçüm için müşterilerin sisteme ne zaman girdiklerinin ölçülmesi yeterlidir (örnek 1).

Örnek 1: Gelişlerarası zaman ile ilgili ölçümler

Servis süreci için ise, mümkünse, benzer bir period içinde müşterilerin servis süreleri ölçülecektir. Bu ölçüm diğer ölçümden sonra ya da önce yapılabilir. Senkronize yapılması ise zor olmasına rağmen kabul edilebilir. Ölçüm müşterinin servisinin başlaması ile bitişi arasındaki fark ölçülerek yapılacaktır. Müşterinin sunucunun önüne kadar gelmesi veye sistemden ayrılması için oluşan süre servis süresinin içine dahil edilmelidir. Çok uç durumlarda bu süre ayrı tutulabilir ancak bu konudaki açıklamalar bu bölümde bulunmalıdır. Her bir sunucu için ayrı ölçüm yapılması gerekmektedir. Aksi durumda performansı çok -ama çok- benzerlik gösterdiğinden farklı sunuculara ait açıklamalar verilmelidir. (örnek 2)

Örnek 2: Servis süresi ile ilgili ölçümler

Her iki ölçüm de bitirildiğinde bazı ayrıntıların belirlenmesi, verilerin ayıklanması, analize hazır hale getirilmesi gerekmektedir (örnek 3). İstatistiki testlerin burada devreye gireceğini söyleyebiliriz. Belirlenen ölçüm sonuçlarının ortaya çıkardığı dizilerin beklentilere uygun olup olmadıkları ile ilgili testler bu bölümde bulunacaktır. İlk olarak gelişler için Poisson, servis için Exponential dağılımlar test edilmelidir. Bunlara uygunluk yoksa diğer dağılımlara ait testlerde bu bölümde verilmelidir. Test sonuçları olumsuz ise G (General - ortalama ve standart sapması zaten biliniyor) kullanılabilecektir. İstatistiki testlerin yöntemlerinin açıklamaları ve sonuçları bu bölümde detaylı bir şekilde verilmelidir. Sonuçta kuyruk sisteminin sayısal performans ölçütleri için notasyon bu bölümde verilebilir (Örnek 4). Lambda ve Mü değerlerinin bu çalışmanın sonucunda ortaya çıktığını söyleyebiliriz.

Örnek 3: Ölçüm sonuçları

İstendiği takdirde, müşterinin bekleme süresi, sunucunun boş kaldığı süre gibi değerler de ölçülerek daha sonra ortaya çıkarılacak performans ölçütleri ile karşılaştırılabilir (örnek 5)

Örnek 4: Kuyruk Sistemi Notasyonu

M / M / 2 // 6

Örnek 5: Ek Ölçümler

Kuyruk Sisteminin Performans Ölçütleri: Bu bölümde diğer bölümlerde elde edinilen bilgiler ışığında ortaya çıkarılmış Lambda ve Mü değerleri ile kuyruk notasyonu kullanılarak performans ölçütleri hesaplanacaktır. Bunun için WinQSB yazılımının kullanılması yeterli olacaktır. Performans ölçütlerinin detaylı bir şekilde ödevde verilmesi gerekmektedir (örnek 6). Performans ölçütleriyle ilgili her türlü yorum ve açıklama bu bölümde yer alacaktır.

Örnek 6: Performans Ölçütleri

Kuyruk Sisteminin Analiz Sonuçları ve Değerlendirme: Bu bölümde kuyruk sisteminin özelliklerine bağlı olarak ortaya çıkan performans ölçütlerinin genel ve detaylı değerlendirmeleri ile bu değerlendirmelerin sistemin daha iyi olmasına dönük olacak yorumları bulunabilir. Sistemin iyileştirilmesi için neler yapılması gerektiği konusundaki fikirler bu bölümde verilecektir. Değerlendirmeler sırasında sistemin maliyeti ile ilgili bilginin verilmesine gerek yoktur. Bu konuda ek bir çalışma yapmadan sistem maliyetini hesaplamış olanlar bunu da ödeve dahil ederlerse ödevin kalitesini artırmış olacaklardır. Ödevin her türlü grafik, tablo, şekil ile desteklenmesi sistemin daha iyi anlaşılmasına yardımcı olacaktır (örnek 7).

Örnek 7: Ek Tablolar ve Grafikler

DİKKAT: Sistem tam olarak anlaşılmadan ölçüme başlamayın, olası hataları düzeltmek için tekrarlamak zorunda kalabilirsiniz.


Simülasyon Örneği - Büfe (Kuyruk Sistemi)

Problem 1: Köşedeki büfenin müşterilerinin gelişleri, saat 15:00-16:00 arasında, Poisson dağılımına göre 28/saat geliş oranında gerçekleşmektedir. Büfede çalışan eleman ise müşterilere Exponential dağılımla saatte 30 müşteri hızında servis verebilmektedir. Büfenin 15:00-16:00 saatleri arasındaki durumunu simülasyon ile ortaya çıkaralım ve analitik modelin bize sunduğu performans ölçütleri açısından bir değerlendirme yapalım.

Analitik model 1: M/M/1 olan bu kuyruk sisteminin geliş oranı = 28/saat ve servis oranı = 30/saat ise performans ölçütleri Tablo 1′de görülebilir. Tablo 1′de görülen değerleri simülasyon sonucunda da elde etmek mümkündür ancak simülasyon adımlarının ve iterasyon sayılarının yüksek olması gerekmektedir.

Tablo 1: Kuyruk sisteminin performans ölçütleri

Simülasyon modeli 1: Belirlenen kriterlere göre (Tablo 2) 30 müşteri için (yaklaşık 1 saat) simülasyon yapılmıştır (Tablo 3) ve bazı performans ölçütleri elde edilmiştir. Simülasyon 10 iterasyon ile ortalama değerleri de göstermektedir (Tablo 4). Dikkat edildiğinde, analitik performans ölçütleriyle simülasyon sonuçları arasındaki farkları görebiliriz. Bunun nedeni, simülasyonu yeteri tekrarda yapmayışımız olabilir. Merak edenler hem simülasyon adımlarının sayısını (kuramsal olarak 1 saatten fazla aynı sistemi çalıştırmak) hem de iterasyon sayısını artırırsa sonuçların ne yönde değiştiğini görebilecekler.

Tablo 2: Açıklamalar ve simülasyon sonuçları

Tablo 3: Simülasyon

Tablo 4: İterasyonlar ve ortalamalar

Problemin Excel dosyasına bakabilirsiniz.

Problem 2: Yukarıdaki örnekteki sunucu sayısını artırdığımız durumda simülasyon sonuçları bundan etkilenecektir. Büfede çalışmak üzere, ikinci bir kişinin işe alındığını varsayalım (diğeriyle aynı hızda çalışıyor). Bu durumda yeni sistem M/M/2 olacaktır. Bu sistem için modelleri tekrar oluşturalım.

Analitik model 2: M/M/2 olan bu kuyruk sisteminin geliş oranı = 28/saat ve servis oranı = 30/saat ise performans ölçütleri Tablo 5′de görülebilir.

Tablo 5: Kuyruk sisteminin performans ölçütleri

Simülasyon modeli 2: Bu bölümde M/M/2 sisteminin simülasyonu görünüyor.

Tablo 6: 2. simülasyonun Excel sonuçları



References

  1. Tully, R. B., Courtois, H., Hoffman, Y & Pomarède, D. Nature 513, 71–73 (2014). http://dx.doi.org/10.1038/nature13674