Değerleri komşularına ileten CPU ızgarasına minik assembly kodları yazın; girdi akışını, ölü kilit oluşmadan hedefe dönüştürün.
Nasıl oynanır
Çok küçük bilgisayarlardan oluşan bir ızgarayı programlarsınız. Her düğüm kendi kısa komut listesini çalıştırır ve yalnızca yanındaki komşularla, portlar aracılığıyla değer aktararak iletişim kurabilir — bu yüzden ızgarayı aşması gereken bir sayı, düğüm düğüm elle iletilmek zorundadır.
Her düğümün bir biriktiricisi ve birkaç komutu vardır: değeri taşı, topla, çıkar, atla.
Bir düğüm, yukarıdaki, aşağıdaki, soldaki veya sağdaki komşusundan okuyabilir veya onlara yazabilir; ayrıca girdi ve çıktı akışlarıyla da etkileşime girebilir.
Portlar kilitlenir. Sağa yazan bir düğüm, sağındaki düğüm solundan okuyana kadar basitçe bekler.
Bu, iki düğümün yalnızca değer konusunda değil, zamanlama konusunda da anlaşması gerektiği anlamına gelir.
Hiç kimse ilerleme kaydedemeyip birinin hâlâ beklediği bir tam tur geçerse, ızgara ölü kilitlenir.
Bulmaca, çıktı akışı seviyenin istediği hedefle eşleştiğinde çözülür.
Kontroller
Masaüstü: Kodu her düğümün metin kutusuna yazın, açılır menüden bir seviye seçin ve ardından Çalıştır'a basın.
Telefon ve tablet: Çalışır, ancak kod yazmak için harici bir klavye kullanılması şiddetle önerilir.
Oyun modları
Günlük: Bugünün tarihinden türetilen, herkesin ortak çözdüğü tek bir bulmaca.
Pratik: Yeni düğmesiyle taze, rastgele üretilmiş girdiler arasında dolaşın.
İpuçları ve strateji
Aritmetikten önce rotayı tasarlayın. Çoğu hata, yanlış çıkan toplamlardan değil, değerlerin gitmeleri gereken yere ulaşamamasından kaynaklanır.
Birbirini bekleyen iki düğüm, klasik ölü kilit senaryosudur. Eğer her ikisi de okumadan önce birbirine doğru yazarsa, hiçbiri ilerleyemez.
Mümkün olan her yerde trafiği tek yönde akışta tutun. Değerlerin çaprazlaştığı bir ızgaradan çok daha kolay akıl yürütülebilen, tutarlı bir yönü olan bir ızgara daha etkilidir.
Gerekirse bir düğümü saf bir röle olarak kullanın. Sadece bir değeri iletmek, meşru ve çoğu zaman gerekli bir işlevdir.
Yanlış cevabı değil, kilitlenen düğümü okuyun. Çıktı durduğunda, bilgilendirici olan şeyin hangi düğümün ve kimin için beklediğidir.
Neler öğreneceksiniz
Node Network, işlemci ızgarası üzerinde mesaj geçişi ve ölü kilitten kaçınma konusundaki bir paralel programlama bulmacasıdır.
Beceriler: Paralel ve eşzamanlı programlama, mesaj geçişi, ölü kilit önleme
En uygun yaş grubu: Yaklaşık 9–12. sınıflar (14 yaş ve üzeri)
Veliler ve öğretmenler için: Eşzamanlılık ve ölü kilit, uygulamalı olarak.
Kökenler
Her biri kendi kısa komut listesini çalıştıran ve yalnızca hemen yanındaki komşularıyla konuşabilen çok küçük bilgisayarlardan oluşan bir ızgara, bulmacalarını kurgusal, bozulmuş bir 1970'ler makinesinde geçiren TIS-100'dür (Zachtronics, Temmuz 2015).
Öğretilen kısıt gerçektir ve paralel hesaplamanın merkezindedir: ortak bellek olmadığında, ızgarayı geçmesi gereken bir değer mesaj iletimi yoluyla düğüm düğüm elle aktarılmalıdır.
Ve elle aktarmak, kilitlenmeyle karşılaşma biçiminizdir: her biri diğerini bekleyen, ikisi de sonsuza dek durmuş iki düğüm. Bu, bir tahtada gerçekten açıklanamayan bir hatadır, çünkü bütün zorluk her düğümün tek başına doğru davranmasıdır.
Node Network Hakkında
Node Network, işlemci ızgarası üzerinde mesaj geçişi ve ölü kilitten kaçınma konusundaki bir paralel programlama bulmacasıdır. PlayPendium için iç kaynaklarla geliştirilmiş özgün ve ücretsiz bir tarayıcı oyunudur.