← Computers & Automation

Simulating Computers With People

B
Bilinmeyen Yazar
1961 · Computers and Automation

Bernard E. Howard
Uygulamalı Matematik Profesörü
University of Miami
Coral Gables, Florida

Giriş

Bilgisayarlar, her türlü süreci benzetmekte ve hatta insan davranışını benzetmekte başarıyla kullanılmaktadır. Tersine, bir grup insan da bir bilgisayarın çalışmasını benzetebilir. Bu, otomatik hesaplamanın mekanik doğasını gösteren yararlı bir eğitsel araçtır.

12 Nisan 1961’de, University of Miami’de Giriş Düzeyi Sayısal Analiz (Math 332) dersimdeki 20 öğrencilik sınıfım, ilgili herkesin aydınlanmasına katkı sağlayacak biçimde, bir IBM 650 için programlanmış bir karekök yordamının yinelemeli bölümünü başarıyla benzetmiştir. Bu notun amacı, bu çalışmayı tanımlamaktır.

Problemin Tanımı

Temel fikir, her öğrencinin tek bir işlevsel bileşen olarak davranması ve talimatlarını aynen izlemesi, düşünmemeye özellikle dikkat etmesiydi. (Bu son öğüt genel bir ilgi gördü.) Ne yazık ki, tam karekök yordamı sınıftaki öğrenci sayısından çok daha fazla bireysel öğe içeriyordu; bu nedenle yordamın başlatma ve test bölümleri çıkarılmak zorunda kaldı. Ancak bu durum, sürecin merkezi bölümünün öğretici değerini azaltmış görünmüyordu.

Çözülecek problem şuydu: verilen bir y sayısı için, x² = y olacak bir x sayısını bulmak. Kullanılan yinelemeli formül şuydu:

Xᵢ₊₁ = (xᵢ + y / xᵢ) / 2

Aşağıda kullanılan özel talimatlar kümesi verilmiştir:

Talimatın Konumu Talimat veya Veri
0005 (15)
0103
0006
0006 (64)
0104
0007
0007 (15)
0104
0008
0008 (65)
0101
0009 (0009)
0020
0104
0005

Aşağıdaki veriler depolanmıştı:

Adres Veri
0101 2
0103 y
0104 x (= başlangıçta y)

Böylece bilgisayarı benzetmek için toplam 13 parça (öğrenci) gerekiyordu: 8 bellek konumu (5’i talimatları, 3’ü verileri tutmak için), 4 işlem ve bir Alt Akümülatör. (Sınıf Marchant masa hesap makineleri kullandığından, dağıtıcı ile klavye, alt akümülatör ile alt kadran ve üst akümülatör ile üst kadran arasında bir benzetim kuruldu.) Ondalık nokta kaydırması ve okuma ile delme alanlarının özelleştirilmesi gibi yan koşullar, sadelik adına dışarıda bırakıldı.

Bilgisayar Tasarımı

Bilgisayarın tasarımı, her işlevsel parçanın bir öğrenciyle özdeşleştirilmesi ve onun işleminin belirlenmesiyle benzetildi.

Bu özdeşleştirme, bir öğrenciye işaret edilip "Sen Operation 15’sin" denilerek; bir başkasına işaret edilip "Sen Alt Akümülatörsün" denilerek; bir diğerine işaret edilip "Sen Bellek Konumu 0005’sin" denilerek ve ele alınan özel problem için gereken tüm parçalar için benzer şekilde yapıldı.

Her parçanın çalışması, öğrenciye harfiyen izlemesi gereken açık bir talimatlar kümesi verilerek belirlendi. Karekök yordamının yinelemeli bölümünü benzetmek için, ekte ayrıntıları verilen talimat kümeleri yeterli oldu.

Bilgisayarın Çalışması

Bu şekilde bir bilgisayar olarak düzenlenen sınıf, aşağıdaki prosedürle bir sayının karekökünü bulacak biçimde çalıştı:

  1. İlk olarak (talimatların belleğe okunmasına karşılık olarak), 10 basamaklı talimatlar kümesinden uygun olanını içeren birer kâğıt parçası her bir talimat belleği konumuna verildi.
  2. İkinci olarak (verilerin okunmasına karşılık olarak), üç veri öğesinden uygun olanını içeren birer kâğıt parçası her bir veri belleği konumuna verildi.
  3. Son olarak (bilgisayarın başlatılmasına karşılık olarak), programdaki ilk talimatın bulunduğu Bellek Konumu 0005’e baton verildi.

Bundan sonra sınıf, saklı programlı otomatik bir bilgisayarınkini benzeten bir biçimde çalışmaya başladı ve Bellek Konumu 0103’teki sayının kareköküne giderek yaklaşan bir değer Bellek Konumu 0104’te ortaya çıktı.

0104 Konumu’nda görünen girişler dizisi, yinelemeli sürecin yakınsamayı nasıl sağladığını göstermek için tahtaya kaydedildi. Bir noktada bölme işlemini yapan kişi hata yaptı; bu bölmeyi düzeltmek yerine mekanik biçimde devam ettik ve bu yinelemeli sürecin kendini düzeltici doğası ikna edici biçimde gösterildi.

Ders zili, prosedürü sonlandırmak için kullanıldı.

Sonuçlar

Yukarıda tanımlanan prosedür, çeşitli açılardan daha gerçekçi hale getirilebilir. Ancak, gerçekçiliğin öğretimsel açıklık kadar önemli olup olmadığı kuşkuludur.

Aynı bileşenler kümesiyle birden fazla problemin çözülmesi, saklı programın rolünü ve otomatik hesaplamanın genel doğasını göstermede öğretici olacaktır. Örneğin, karekök problemi için gereken parçalara bir çarpanın eklenmesiyle, bir sayının küpkökü aşağıdaki formülle bulunabilir:

Xᵢ₊₁ = (2xᵢ + y / xᵢ²) / 3

Yukarıda tanımlanan "bilgisayar oynama" oyunu, otomatik dijital hesaplama fikrine ilk giriş olarak önerilmektedir. Bu çalışmanın eğitici olduğu, prosedürün yavaş bir başlangıçtan sonra hızla ivme kazanması ve sürecin sonuna doğru zincirde gizemli bir şekilde beliren, "Doğrudan hapse git. Go’dan geçersen 200 dolar alma" diyen fazladan bir talimatla gösterilmiştir.

Ek

Talimatların Ayrıntıları

Operation 15 (Alt Akümülatöre Ekle)

(A) "Operation 15" çağrıldığını duyduğunuzda, "Here" deyin.

(B) Size baton ve üzerinde ikişer dörtlü ondalık basamak kümesi yazılı bir kâğıt ("talimatlarınız") verildiğinde, aşağıdaki gibi davranın (aksi halde hiçbir şey yapmayın):

  1. İlk dörtlü ondalık basamak kümesinin belirttiği bellek konumuna gidin (bu numarayı sesli söylediğinizde "Here" diyen kişi).
  2. Ondan üzerinde bir sayı yazılı bir kâğıt alın.
  3. Bu kâğıdı Alt Akümülatöre verin ("8002" diye seslendiğinizde "Here" diyen kişi).
  4. Baton’u, talimatlarınızdaki ikinci dörtlü basamak kümesinin belirttiği bellek konumuna verin (bu numarayı sesli söylediğinizde "Here" diyen kişi).
  5. Üzerinde iki dörtlü basamak kümesi bulunan kâğıdı atın.

Operation 20 (Alt Akümülatörü Depola)

(A) "Operation 20" çağrıldığını duyduğunuzda, "Here" deyin.

(B) Size üzerinde ikişer dörtlü basamak kümesi yazılı bir kâğıt ("talimatlarınız") verildiğinde, aşağıdaki gibi davranın (aksi halde hiçbir şey yapmayın):

  1. Alt Akümülatörün tuttuğu kâğıdı alın ("8002" diye seslendiğinizde "Here" diyen kişi).
  2. Bu kâğıdı, talimatlarınızdaki ilk dörtlü basamak kümesinin belirttiği bellek konumuna götürün (bu numarayı sesli söylediğinizde "Here" diyen kişi).
  3. Baton’u, talimatlarınızdaki ikinci dörtlü basamak kümesinin belirttiği bellek konumuna verin (bu numarayı sesli söylediğinizde "Here" diyen kişi).
  4. Üzerinde iki dörtlü basamak kümesi bulunan kâğıdı atın.

Operation 64 (Bölme)

(A) "Operation 64" çağrıldığını duyduğunuzda, "Here" deyin.

(B) Size baton ve üzerinde ikişer dörtlü basamak kümesi bulunan bir kâğıt ("talimatlarınız") verildiğinde, aşağıdaki gibi davranın (aksi halde hiçbir şey yapmayın):

  1. İlk dörtlü basamak kümesinin belirttiği bellek konumuna gidin (bu numarayı sesli söylediğinizde "Here" diyen kişi).
  2. Ondan üzerinde bir sayı yazılı bir kâğıt alın.
  3. Alt Akümülatöre gidin ("8002" diye seslendiğinizde "Here" diyen kişi).
  4. Bu kişinin elinde tuttuğu, üzerinde bir sayı yazılı kâğıdı alın.
  5. İkinci sayıyı birinciye bölün ve bölümü boş bir kâğıda yazın.
  6. Bu kâğıdı Alt Akümülatöre verin.
  7. Baton’u, talimatlarınızdaki ikinci dörtlü basamak kümesinin belirttiği bellek konumuna verin (bu numarayı sesli söylediğinizde "Here" diyen kişi).
  8. Elinizde kalan üç kâğıdı atın.

Operation 65 (Alt Toplamayı Sıfırla ve Ekle)

(A) "Operation 65" çağrıldığını duyduğunuzda, "Here" deyin.

(B) Size baton ve üzerinde ikişer dörtlü ondalık basamak kümesi yazılı bir kâğıt ("talimatlarınız") verildiğinde, aşağıdaki gibi davranın (aksi halde hiçbir şey yapmayın):

  1. Alt Akümülatöre gidin ("8002" diye seslendiğinizde "Here" diyen kişi), orada tutulan kâğıdı (varsa) alın ve atın.
  2. İlk dörtlü basamak kümesinin belirttiği bellek konumuna gidin (bu numarayı sesli söylediğinizde "Here" diyen kişi).
  3. Ondan üzerinde bir sayı yazılı bir kâğıt alın.
  4. Bu kâğıdı Alt Akümülatöre verin.
  5. Baton’u, talimatlarınızdaki ikinci dörtlü basamak kümesinin belirttiği bellek konumuna verin (bu numarayı sesli söylediğinizde "Here" diyen kişi).
  6. Üzerinde iki dörtlü basamak kümesi bulunan kâğıdı atın.

Alt Akümülatör

(A) "8002" çağrıldığını duyduğunuzda, "Here" deyin.

(B) Size üzerinde bir sayı yazılı bir kâğıt verildiğinde, aşağıdaki gibi davranın (aksi halde hiçbir şey yapmayın):

  1. Zaten üzerinde bir sayı yazılı kâğıdınız yoksa, size verilen kâğıdı tutun.
  2. Zaten üzerinde bir sayı yazılı bir kâğıdınız varsa ve size üzerinde sayı yazılı başka bir kâğıt verilirse, iki sayıyı toplayın, toplamı üçüncü bir kâğıda yazıp bunu tutun ve diğer iki kâğıdı atın.
  3. Birisi sizden tuttuğunuz kâğıdı istediğinde, ona verin.

Bellek Konumu (Talimatlar)

(A) Birisi numaranızı (çalışmanın başında size atanan numara) seslendiğinde, "Here" deyin.

(B) Birisi size üzerinde on basamak bulunan (2–4–4 şeklinde gruplanmış) bir kâğıt verdiğinde, bunu saklayın. Zaten böyle bir kâğıdınız varsa, onu atın ve yenisini saklayın.

(C) Birisi size baton’u verdiğinde, aşağıdaki gibi davranın:

  1. İki basamaklı sayıyı okuyun ve boşluğa bu iki basamaklı sayıyı yerleştirerek "Operation-__" diye seslenin.
  2. "Here" diyen kişiye aşağıdakileri verin:
  3. baton’u;
  4. elinizde tuttuğunuz iki dörtlü basamak kümesini kopyaladığınız bir kâğıdı. Orijinal kâğıdı saklayın.

Bellek Konumu (Veri)

(A) Birisi numaranızı seslendiğinde, "Here" deyin.

(B) Birisi size üzerinde en fazla sekiz basamaklı bir sayı yazılı bir kâğıt verdiğinde, bunu saklayın. Zaten böyle bir kâğıdınız varsa, onu atın ve yenisini saklayın.

(C) Birisi size elini uzattığında, tuttuğunuz kâğıttaki sayıyı kopyalayın ve kopyayı ona verin. Orijinali saklayın.