Voleybol ve DNA

advertisement
Voleybol ve DNA
QBASIC programlama dilindeki aşağıdaki programı işletiniz.
CLS : SCREEN 12 : WINDOW (-50, 120)-(120, -20)
CIRCLE (0, 0), 5, 1 : CIRCLE (100, 0), 5, 1 :CIRCLE (50, 80), 5, 1
PRINT "Bir tusu basili tutunuz"
PRINT "Son:Ctrl+Break+bir tus"
TUS$ = INPUT$(1)
RANDOMIZE TIMER
P = RND
SELECT CASE P
CASE 0 TO 1 / 3
x=0 : y=0
CASE 1 / 3 TO 2 / 3
x = 100 : y = 0
CASE 2 / 3 TO 1
x = 50 : y = 80
END SELECT
DO
CIRCLE (0, 0), 5, 1
CIRCLE (100, 0), 5, 1
CIRCLE (50, 80), 5, 1
IF x <= 10 AND y < 10 THEN GOSUB 10
IF x >= 90 AND y <= 10 THEN GOSUB 20
IF y >= 50 THEN GOSUB 30
LOOP
10 x = 0 : y = 0
P = RND
SELECT CASE P
CASE 0 TO 1 / 2
a=1: b=0
CASE 1 / 2 TO 1
a = .5 : b = .8
END SELECT
FOR I = 1 TO 20
x=x+a*5 : y=y+b*5
K=3
CIRCLE (x, y), K, 14 : PAINT (x, y), 14
GOSUB 60
NEXT I
RETURN
20 x = 100 : y = 0
P = RND
SELECT CASE P
CASE 0 TO 1 / 2
a = -1 : b = 0
CASE 1 / 2 TO 1
a = -.5 : b = .8
END SELECT
FOR I = 1 TO 20
x=x+a*5:y=y+b*5
K=3
CIRCLE (x, y), K, 14
PAINT (x, y), 14
GOSUB 60
NEXT I
RETURN
30 x = 50 : y = 80
P = RND
SELECT CASE P
CASE 0 TO 1
a = -.5 : b = -.8
CASE 1 TO 1
a = .5 : b = -.8
END SELECT
FOR I = 1 TO 20
x=x+a*5
y=y+b*5
K=3
CIRCLE (x, y), K, 14
PAINT (x, y), 14
GOSUB 60
NEXT I
RETURN
60 TUS$ = INPUT$(1)
CIRCLE (x, y), K, 0
PAINT (x, y), 0
RETURN
Üç kişi aralarında voleybol oynamaktadır. Dikkat ettiyseniz, oyuculardan birisi top kendine
geldiğinde hep aynı kişiye pas vermektedir. Bu Ahmet. Diğer iki oyuncu Bahar ve Ceren.
Bahar ile Ceren top kendilerine geldiğinde topu iki arkadaşından birine, Ahmet ise top
kendine geldiğinde hep Bahar’a pas vermektedir. Programa göre, Bahar ve Ceren 0.5 olasılıkla
topu iki arkadaşından birine atmaktadır. Oyuncuların paslaşma olasılıkları değişmemektedir.
Oyuncular, oyunun geçmişine bakarak paslaşma olasılıklarını değiştirebilir. Paslaşma
olasılıkları zamanın (pas sayısının) fonksiyonu olabilir. Hattâ Ceren, topu atmadan önce
paslaşma olasılıklarını, son 10 paslaşmaya bakarak belirliyor olabilir. Oyun içinde (süreçte) top
üç kişiden (durumdan) birinde olmaktadır. Durum uzayı, E ={Bahar, Ceren, Ahmet} olan bir
kesikli zaman stokastik süreci, belki de bir Markov Zinciri ile karşı karşıyayız.
Hatırlatma: X1 , X 2 ,..., X n ,... dizisindeki rasgele değişkenlerin değerler aldığı küme E sonlu
veya sayılabilir sonsuz ve her i1 , i2 ,..., in1 , in  E için
P( X n  in / X1  i1 , X 2  i2 ,..., X n  in1 )  P( X n  in / X n  in1 )
oluyorsa  X n , n  1, 2,... sürecine Markov zinciri denir.
Ahmet
0.5
0.5
1
Bahar
0.5
Ceren
0.5
Ahmet, Bahar ve Ceren’i sırasıyla A,B,C harfleri veya 1,2,3 rakamları ile kodlarsak
durum uzayı da denen E kümesi,
E  1, 2,3
olur.
pij  P( X n  i / X n1  j ) , i, j  1, 2,3
olmak üzere, bir adım geçiş olasılıkları matrisi,
P  ( pij )33
1
0
0

 0.5 0 0.5
0.5 0.5 0 
olsun. Topun Cerende olduğu bilindiğinde, bir adım sonra durumların olasılıkları,
é0
1
0ù
ê
ú
[001] ê0.5 0 0.5ú= [0.5 0.5 0]
ê
ú
ê0.5 0.5 0 ú
ë
û
üç adım sonra durumların olasılıkları,
é0
1
0 ùé 0
1
0 ùé 0
1
0ù
ê
úê
úê
ú
[001] ê0.5 0 0.5úê0.5 0 0.5úê0.5 0 0.5ú= [0.375 0.375 0.25]
ê
úê
úê
ú
ê0.5 0.5 0 úê0.5 0.5 0 úê0.5 0.5 0 ú
ë
ûë
ûë
û
on adım sonra durumların olasılıkları,
10
é0
1
0ù
ê
ú
[0 01] ê0.5 0 0.5ú = [0.33 0.45 0.22]
ê
ú
ê0.5 0.5 0 ú
ë
û
dır. Ayrıca,
[0 0 1]*P^15=[0.33334
0.44431
0.22235]
[0 0 1]*P^20=[0.33333
0.44445
0.22222]
[0 0 1]*P^25=[0.33333
0.44444
0.22222]
[0 0 1]*P^30=[0.33333
0.44444
0.22222]
[0 0 1]*P^40=[0.33333
0.44444
0.22222]
Matlab çıktılarını da gözden geçiriniz. Başlangıçta top Cerende olsun. Oyun epeyce
oynandıktan sonra, belli bir adımda topun Cerende olması olasılığı 0.22222 dir.
P^10
ans =
0.33398
0.4375
0.22852
0.33301
0.44824
0.21875
0.33301
0.44727
0.21973
0.33331
0.44476
0.22192
0.33334
0.44427
0.22238
0.33334
0.44431
0.22235
0.33333
0.44443
0.22223
0.33333
0.44445
0.22222
0.33333
0.44445
0.22222
0.33333
0.44444
0.22222
0.33333
0.44444
0.22222
0.33333
0.44444
0.22222
0.33333
0.44444
0.22222
0.33333
0.44444
0.22222
0.33333
0.44444
0.22222
>> P^15
ans =
>> P^20
ans =
>> P^25
ans =
>> P^30
ans =
çıktılarına bakılırsa, başlangıçta top kimde olursa olsun, oyun epeyce oynandıktan sonra, belli
bir adımda topun Cerende olması olasılığı 0.22222 dir.
Oyunculardan, özellikle Ahmet, Bahar’a pas atmakla birlikte topu havalandırarak
kendisine düşecek şekilde ½ olasılıkla havaya atmaktadır. Bu durumda geçiş olasılıkları
matrisi,
0.5 0.5 0 
P  0.5 0 0.5
0.5 0.5 0 
olmak üzere,
P^10
ans =
0.5
0.33301
0.16699
0.5
0.33398
0.16602
0.5
0.33301
0.16699
0.5
0.33334
0.16666
0.5
0.33331
0.16669
0.5
0.33334
0.16666
0.5
0.33333
0.16667
0.5
0.33333
0.16667
0.5
0.33333
0.16667
0.5
0.33333
0.16667
0.5
0.33333
0.16667
0.5
0.33333
0.16667
P^15
ans =
P^20
ans =
P^25
ans =
dır. Oyun epeyce oynandıktan sonra, belli bir adımda topun Cerende olması olasılığı 0.16667
olup, önceki oyuna göre daha düşüktür.
Şimdi, ilk oyunun 50 paslaşmalı bir gelişimini izleyelim. Ahmet, Bahar ve Ceren
sırasıyla 1,2,3 rakamları ile kodlanmış.
clear all;close all;rand('seed',0)
P=[0 1 0; .5 0 .5; .5 .5 0];
nn=size(P,1);
Durum=1;
for n=1:50
i=Durum;
a=rand(1,1);
Durum=1;
for j=1:(nn-1)
if a>sum(P(i,1:j))
Durum=j+1;
end,end
zincir(n)=Durum;
end
zincir
zincir =
2
1
2
3
2
1
2
3
1
2
3
2
1
2
1
2
3
2
3
2
3
1
2
1
2
3
2
1
2
3
1
2
3
2
1
2
3
2
3
2
1
2
3
1
2
3
1
2
1
2
İkinci oyunun 50 paslaşmalı bir gelişimi, (P=[.5 .5 0;.5 0 .5; .5 .5 0])
zincir =
1
1
2
3
2
1
2
3
1
1
2
3
1
1
1
1
2
3
2
3
2
1
2
1
2
3
2
1
1
2
1
2
3
2
1
1
2
3
2
3
1
2
3
1
1
2
1
1
1
1
olmak üzere, bu oyunda 1 lerin daha çok gözlendiği hemen göze batmaktadır. Bu oyunda 1
‘lerden sonra mutlaka 2 gelmemektedir. İkinci oyundaki son 3 atışta Ahmet rasgele de olsa
topu 3 kez kendisine havalandırmıştır. Benzer bir durum 13. atıştan sonra da olmuştur.
Ahmet’in topu üç kez ardı ardına kendisine vermesi olasılığı 0.125 dir. On kez ardı ardına
kendisine vermesi olasılığı ise 0.00098 dir.
Bu iki dizideki sayıların nasıl üretildiğini bilmiyor olsaydık, “rasgeleliği” tamamen
bertaraf etmeden, farklı olduklarını nasıl söyleriz? Birincisinde 1 den 2 ye geçişte rasgelelik
olmadığını, ikincisinde ise 1 1 1 1 serisinin rasgele olduğunu nasıl söyleriz? İstatistikçilerin
işi.
Bir DNA dizisindeki adenin (A), sitozin (C) guanin (G) ve timin (T) bazları yerlerini
nasıl almıştır? Bilmiyorum. Genetikçiler bilir.
Bir DNA dizisinde adeninden sonra adenin %32, sitozin %18, guanin %23, timin %27
olarak, sitozinden sonra adenin %37, sitozin %23, guanin %05, timin %35 olarak, guaninden
sonra adenin %30, sitozin %21, guanin %25, timin %24 olarak ve timinden sonra adenin
%23, sitozin %19, guanin %25, timin %33 olarak gözlenmiş olsun. Bu oranları geçiş
olasılıkları olarak düşünüp, bu DNA dizilişinin bir Markov sürecindeki gelişme sonucu ortaya
çıkıp çıkmadığını nasıl söyleriz? İstatistikçilere bir iş daha.
Geçiş olasılıkları matrisi,
P=[.32 .18 .23 .27
.37 .23 .05 .35
.30 .21 .25 .24
.23 .19 .25 .33]
olan dört durumlu bir Markov zincirinde neler olmaktadır? Durumlar 1,2,3,4 rakamlari ile
kodlansın. Aşağıdaki Matlab programı ile bu geçiş olasılıklarına dayalı Markov zincirinin
simülasyonu yapılabilir.
clear all;close all
P=[.32 .18 .23 .27
.37 .23 .05 .35
.30 .21 .25 .24
.23 .19 .25 .33]
nn=size(P,1); Durum=1
for n=1:50
i=Durum; a=rand(1,1); Durum=1;
for j=1:(nn-1)
if a>sum(P(i,1:j))
Durum=j+1;
end
end
zincir(n)=Durum;
end
zincir
Bu program ile üretilen bir dizi aşağıdaki gibidir.
1
4
1
4
3
2
3
1
4
4
2
2
2
3
4
3
1
4
1
2
3
1
3
4
1
4
2
4
1
3
2
1
4
3
3
4
4
2
4
2
3
4
1
3
3
1
2
1
4
2
Bu dizi için gözlenen frekanslar ve oranlar,
A
C
G
T
12
11
12
15
0.24
0.30
0.24 0.22
dır. Bu oranlara bağlı olarak hesaplanan entropi,
H =1.9899
dır. Bilindiği gibi, entropi bir sistemin kararsızlık ölçüsü ile ilgili bir kavramdır. Kesikli
durumlarda bulunabilen bir sistemin veya bir X rasgele değişkenin ( X rasgele değişkenin
aldığı değerler sistemin bulunabileceği durumlar olmak üzere) H ( X ) ile gösterilen entropisi,
n
H ( X )   pi log pi  E   log( f ( X ))
i 1
olarak tanımlanır. Logaritmanın tabanı genellikle 2 olarak alınır. Bu durumda,
Durumlar
x1
pi  P( X  xi )
x2
p1 
1
2
p2 
1
2
gibi bir sistemin entropisi,
2
1
1 1
1
H ( X )   pi log 2 pi  ( log 2  log 2 )
2
2 2
2
i 1
1
1
 ( log 2 2  log 2 2)  1
2
2
olur. Entropinin tanımında logaritmanın tabanı 2 olarak seçildiğinde, eşit olasılıklı iki
durumlu bir sistemin entropisi, entropi ölçü birimidir. Birim entropiye “bit” denir. Örneğin,
düzgün bir paranın üç kez atılışındaki olasılıklara sahip, 8 durumlu bir sistemin entropisi,
YYY
YYT
YTY
TYY
YTT
TYT
TTY
TTT
1/8
1/8
1/8
1/8
1/8
1/8
1/8
1/8
1 
 1
H    ( log 2 )8   3 (bit)
8 
 8
dır. N tane eşit olasılıklı durum gösteren bir sistemin entropisi N bit’tir. Sadece bir durumda
bulunan bir sistemin entropisi sıfırdır. İki boyutlu durumda, entropi
n
H ( X , Y )  
i 1
m
 P( X  x , Y  y ) log
j 1
i
j
2
P( X  xi , Y  y j )
olarak tanımlanır. Bağımsızlık durumunda,
P( X  xi , Y  y j )  P( X  xi ) P(Y  y j )
olmak üzere,
H ( X , Y )  H ( X )  H (Y )
dır.
A, C, G, T bazları ile 16 tane ikili oluşturulabilir. Eşit olasılıklı 16 durumlu bir
sistemin entropisi 4 bittir. Bir DNA dizisindeki A, C, G, T bazları ard arda ikililer olarak
alınıp,
AA , AC , AG , AT
CA , CC , CG , CT
GA , GC , GG , GT
TA , TC , TG , TT
ikililerinin frekansları ve oranları gözlenebilir. Gözlenen oranlardan hesaplanan entropi H 2
ile gösterilsin. İkilinin birinci elemanı ile ikinci elemanının bağımsızlığı hipotezi altında
hesaplanan entropi de Hb ile gösterilsin. Bu değerleri ve ilgili ki-kare testlerini yapan
aşağıdaki Matlab programını ve çıktılarını gözden geçiriniz.
clc;clear all;close all;rand('seed',0)
P=[.32 .18 .23 .27;.37 .23 .05 .35; .30 .21 .25 .24; .23 .19 .25 .33];
nn=size(P,1);
Durum=1;
for n=1:1000
i=Durum;
a=rand(1,1);
Durum=1;
for j=1:(nn-1)
if a>sum(P(i,1:j))
Durum=j+1;
end,end
zincir(n)=Durum;
end
S=zincir;
syms A C G T
for k=1:size(S,2)
if S(k)==1
dna(k)=A;
end
if S(k)==2
dna(k)=C;
end
if S(k)==3
dna(k)=G;
end
if S(k)==4
dna(k)=T;
end
end
dna
'Gozlenen frekansların cubuk diyagramı'
hist(S)
'A,C,G,T bazlarının oranlarının eşitligi hipotezi'
gozfr=hist(S,nn)
bekfr=size(S,2)/nn*ones(1,nn);
kikarehes=sum(((gozfr-bekfr).^2)./bekfr)
p_value=1-chi2cdf(kikarehes,3)
'Entropi ve maksimum entropiden uzaklaşma'
gozoran=gozfr/size(S,2);
H=-sum(sum(gozoran.*(log(gozoran)./log(2))))
Hmax=log(nn)/log(2)
D1=Hmax-H
'Ikili bazlar için gözlenen frekanslar'
bb=zeros(nn,nn);
for i=1:1:size(S,2)-1
for j=1:nn
for k=1:nn
if [j k]==[S(i) S(i+1)]
bb(j,k)=bb(j,k)+1;
end,end,end,end
bb;
'İkili bazlarda oranların eşitliği hipotezi'
gozfr=bb
bekfr=sum(sum(bb))/nn^2*ones(nn,nn)
kikarehes=sum(sum(((gozfr-bekfr).^2)./bekfr))
p_value=1-chi2cdf(kikarehes,(size(P,1)-1)*(size(P,2)-1))
'Entropi ve maksimum entropiden uzaklaşma'
gozoran=gozfr/sum(sum(bb));
H2=-sum(sum(gozoran.*(log(gozoran)./log(2))))
Hmax=log(nn*nn)/log(2)
D2=Hmax-H2
'İkilinin birinci elemanı ile ikinci elemanın bağımsızlığı hipotezi'
frj=sum(bb);
fri=sum(bb');
bekfr=fri'*frj./sum(sum(bb))
kikarehes=sum(sum(((gozfr-bekfr).^2)./bekfr))
p_value=1-chi2cdf(kikarehes,(size(P,1)-1)*(size(P,2)-1))
'Bağımsızlık durumundaki entropiden uzaklaşma'
oran=bekfr/sum(sum(bb));
Hb=-sum(sum(oran.*(log(oran)./log(2))))
D2bagimsizlik=Hb-H2
Çıktı: Simülasyon ile üretilen 1000 baz uzunluğundaki dizi için gözlenen frekansların çubuk
diyagramı:
300
250
200
150
100
50
0
0.5
1
1.5
2
2.5
3
3.5
4
A,C,G,T bazlarının oranlarının eşitligi hipotezi
gozfr = 276 228 221 275
(276 - 250) 2 (228 - 250) 2 (221- 250) 2 (275 - 250) 2
kikarehes =
=10.504
+
+
+
250
250
250
250
p_value = 0.014734
Entropi ve maksimum entropiden uzaklaşma:
H = 1.9924
Hmax = 2
D1 = 0.007598
Ardı ardına alınan ikili bazlarda oranların eşitliği hipotezi:
Ikili bazlar için gözlenen frekanslar
gozfr =
89 49 76 62
73 73 10 72
63 43 60 55
50 63 75 86
bekfr =
62.438
62.438
62.438
62.438
62.438
62.438
62.438
62.438
62.438
62.438
62.438
62.438
62.438
62.438
62.438
62.438
kikarehes =
87.158
p_value = 5.9952e-015
Entropi ve maksimum entropiden uzaklaşma
H2 =
3.9208
Hmax = 4
D2 = 0.079203
İkilinin birinci elemanı ile ikinci elemanın bağımsızlığı hipotezi
bekfr =
75.976
62.991
61.057
75.976
62.763
52.036
50.438
62.763
60.836
50.438
48.89
60.836
75.425
62.535
60.615
75.425
kikarehes = 73.194
p_value = 3.5889e-012
Bağımsızlık durumundaki entropiden uzaklaşma
Hb = 3.9851
D2bagimsizlik=Hb-H2 = 0.064268
Download