Hesaplama tam olarak nedir?


20

Hesaplamanın bir anlamda belirsiz olduğunu biliyorum (bilgisayarların yaptığı şeydir), ancak daha titiz bir tanım istiyorum.

Dictionary.com'nin hesaplama, hesaplama, hesaplama ve hesaplama tanımları daireseldir, bu yüzden yardımcı olmaz.

Wikipediahesaplamayı "iyi tanımlanmış bir modeli izleyen herhangi bir hesaplama türü" olarak tanımlar. Hesaplamayı "bir veya daha fazla girdiyi değişken değişiklikle bir veya daha fazla sonuca dönüştüren kasıtlı işlem" olarak tanımlar. Ancak bu tanım, genellikle hesaplama olarak düşünülmemelerine rağmen, hesaplama olarak birçok eylemi içerir.

Örneğin, bu, patlayan bir bombanın bir hesaplama olduğu, girdinin sigortanın yanması ve çıktının patlama olduğu anlamına gelmez mi?

Peki, hesaplama tam olarak nedir?


Bu harika, klasik bir soru.
Ran


@Raphael Bildiğim kadarıyla hesaplama! = Bir algoritma. Belki de bir algoritmanın yürütülmesi hesaplamadır.
Kelmikra

Benim için "P hesaplanabilir" == "P'yi çözen bir algoritma var" (P bazı problemler için). Ancak bu benim TCS perspektifimden kaynaklanıyor olabilir.
Raphael

@ Raphael Bu hesaplamanın ne olduğunu soruyor, P'nin hesaplanabilir olmasının ne demek olduğunu değil.
Kelmikra

Yanıtlar:


6

Belki de buradaki problem, çok genel bir kavramın oldukça spesifik bir tanımını arıyor. Neredeyse her şeyi bir hesaplama olarak görme problemini görmüyorum. Her ne kadar düşünmese de, yaptığımız her şey, en azından hakkında hareket eden kuarklara kadar, bileşen parçalarının Fiziği açısından ifade edilebilir. Hesaplama ile aynı duruma sahibiz. Girdiler, çıktılar ve bir süreç var (hepsi önemsiz olabilir). Hesaplama veya hesaplama modelleri olarak ilginç veya kullanışlı olmaları çok farklı bir sorudur.

Sahip olduğumuz en güçlü çalışma tanımı, fiziksel olarak gerçekleştirilebilen her olası hesaplama modelinin Turing Makinesinden daha güçlü olmadığını belirten (güçlü) Kilise Turing Tezi ile gelir . Bunun doğru olduğuna inanıyorsanız, bir şeyleri ifade etmek için çok fazla yolumuz olsa da, sonuçta her hesaplamayı bir Turing Makinesine indirgeyebiliriz, dolayısıyla "Turing Makinesine azaltabileceğimiz her şey" olarak hesaplama tanımını verebiliriz.

Bu modelde, patlayan bomba bir hesaplamadır. Yaygın olarak uygulanabilir bir yöntem değildir (umuyoruz;)), ancak bir Turing Makinesi ile bir şekilde modelleyebiliriz (burada çıktının doğası ve TM'nin çıktısı ile denklik hakkında bir tartışma olmasına rağmen). Aynı zamanda, patlayan bomba modelinin Turing'in tamamlanmış olması muhtemel görünmemesi nedeniyle, genel olarak iyi bir hesaplama modeli değildir.


2
Konu dışı, ama patlayan bomba modeli Turing tamamlandı eminim! Patlamalar, sinyalleri yaymak ve kapıları yapmak için kullanılabilecek diğer patlamaları ortaya çıkarabilir. Bomba b, belirli bir zamanda bir cihaz aracılığıyla patlayacak şekilde ayarlanabilir, ancak yakındaki bir bomba b'nin patlamasına neden olmazken cihazı devre dışı bırakabilir, bu da kapıların açılmasına izin verir.
Kelmikra

@ Kyth'Py1k domino kapıları gibi mi? Bunun "Turing" her zaman makinenin / mayın tarlası büyüklüğüne bağlı olarak duracağı için süresiz olarak döngü yapamayacağınızı sanmıyorum
cırcır ucube

1
@ratchetfreak Bombaların kalıntıları içlerinde nanobotlarla yeni bombalara
dönüşmedikçe

4

Turing'in 1936 tarihli ünlü gazetesinde, Hesaplanabilir sayılarla, Turing makinesi modeliyle (bilinen olarak bilinen) bir kağıt olan Entscheidungsproblem'e bir uygulama ile çözmek için yola çıktığı soru budur . Bkz. Özellikle Bölüm 9.

Turing'in çalışması hesaplanabilir sayılar bağlamındadır . Diğer yapı türlerini hesaplamak için uygun başka hesaplama kavramları vardır ve bunların çalışması, hesaplama teorisinin (özyineleme teorisi olarak da bilinir) bir parçasını oluşturur.

Ortak hesaplama kavramı ile örneğin (patlayan bir bomba) arasındaki temel fark hesaplanan şeydir. Patlayan bombanız tarafından ne hesaplanıyor? Başka bir fark hesaplama araçlarıdır, ancak daha meşru bir şeyi hesaplamak için bombaları kullanan mekanik bir mekanizma düşünülebilir.

Başka bir nokta, klasik hesaplama kavramlarının bugün hesaplama olarak algıladığımız şeylere (bilgisayar ile kullanıcı arasındaki iki yönlü etkileşim) uygulanıp uygulanmadığıdır. Etkileşim, hesaplama teorisi araçları kullanılarak modellenebilse de, bu, hesaplanabilirliğin klasik kavramına karşı yerleştirilmiş ortak bir eleştiridir (sadece sınıfta öğrendikleriniz değil).


Elbette bir patlama bir hesaplamadır. Patlamayı tanımlayan üniter dönüşümü tam olarak "hesaplar". BTW, tanıştığım fizikçilerin çoğu zaman "diyelim ki" bazı kuantum kapısının evrilmek yerine üniter hesapladığını veya fiziksel sistemi buna göre dönüştürdüğünü söylediğinde (" kapı bir kalem ve kağıt alıp üniter "?) :)
Koştu G.

Ben "Entscheidungsproblem bir uygulama ile hesaplanabilir sayılar üzerine" bölüm dokuz okudum, ama gerçekten yardımcı gibi görünmüyordu. Son derece ayrıntılı bir şekilde okumamış olmama rağmen, Turing makineleri için zemin hazırlıyordu. Hesaplamanın bir Turing makinesi tarafından yapılan bir eylem olarak modellenebilecek bir şey olduğunu mu söylüyorsunuz? Eğer öyleyse, neredeyse her şey bir hesaplama olmaz mıydı? Örneğin, bomba patlamaları, çevredeki parçacıkların kuantum parçacıklarının pozisyonları, hızı ve tipleri ikili olarak kodlanacak şekilde bir Turing makinesi olarak modellenebilir.
Kelmikra

"Patlayan bombanız tarafından ne hesaplanıyor?" Fizik yasalarına göre bombayı çevreleyen parçacıkların durumlarındaki değişim hesaplanmaktadır.
Kelmikra

"Bir başka nokta, klasik hesaplama kavramlarının bugün hesaplama olarak algıladığımız şey için geçerli olup olmadığıdır - yani bilgisayar ve kullanıcı arasındaki iki yönlü etkileşim." Hesaplama olarak kabul edilenin bu olduğunu sanmıyorum. Otonom robotlar, kullanıcılarla etkileşim kurmaları gerekmese de hesaplamalar yaptıkları düşünülmektedir.
Kelmikra

İşte bir fikir: hesaplama, optimize ediciler (örneğin insanlar ve robotlar) tarafından yapılan çıkarımlara yardımcı olmak için çıktılar üretme işlemidir. O nasıl?
Kelmikra

1

ABxAyBxAx

xxyxy

t=0t=1

Alt satır: herhangi bir eşleme bir hesaplamayı tanımlar. Bir girdiyi karşılık gelen çıktıya dönüştüren herhangi bir "aygıt", o hesaplamayı yapar ("hesaplar").



(1) tartışmayı bu tür hesaplamalara genişletebiliriz, bu da özyinelemeyen funcitonları düşündüğünüzde mantıklı olacaktır, ancak oraya gitmemeyi tercih ederim.


Bu tanımdaki sorun, "hesaplama" kelimesinin gerçekte nasıl kullanıldığına karşılık gelmemesidir. PC'lerin hesaplama yaptığı düşünülürken, patlayıcı değildir.
Kelmikra

IMHO bir haritalama tam olarak bir hesaplama değildir. Bence sentaks ve anlambilimi karıştırıyorsun. Eşlemeyi açıkça tanımlanmış ancak bir girdi-çıktı ilişkisi olarak anlıyorsunuz. Tüm kitaplarımda bu anlambilim. Hesaplama, bir dizi aşama aracılığıyla bazı girdilere karşılık gelen çıktıyı elde etmek için kullanılan araçlardır. Herhangi bir hesaplamanın bir eşlemeyi tanımladığını söyleseniz de (eğer sadece sözdizimsel bir tane varsa), sorunun biraz ötesinde görünen hiper hesaplamaya girdiğinizi dikkatlice açıklamadığınız sürece, bir eşlemenin bir hesaplamayı tanımladığını düşünmenin yanlış olduğunu düşünüyorum.
babou

Cevabımın ruhunu açıklığa kavuşturmalıyım (bunun bu şekilde ifade edilmediğinin farkındayım): Haritalamanın kendisi bir hesaplama değildir. İşlem , bir çıkış içine bir giriş dönüştürme bu özel eşleme (fonksiyonu) bir hesaplama. Aktarmaya çalıştığım şey, spesifik sürecin alakalı olması, böyle bir sürecin bir hesaplama (hatta çok soyut bir süreç, örneğin bir "kehanet") olduğudur.
Ran G.

1

Luke Mathieson ve Yuval Filmus tarafından oldukça iyi yapılmış bir hesaplamanın ne olduğunu tanımlamaya çalışmayacağım.

Ancak, bir patlama olarak bir hesaplama olarak düşünmek beni önemli bir yan soruna götürür: eğer patlama bir hesaplama ise, o zaman ne hesaplar? Patladıktan sonra cihazın temsili dışında.

Amaçladığım şey, bir hesaplama olarak düşündüğümüz şeyi ve hatta neyi (tutarlı?) Olarak göreceğimize oldukça kesin bir şekilde tanımlayabilmemizdir. Bir hesaplamayı tanımlayabiliriz. Ama bunun ne olduğunu hesaplayabilir miyiz?

Hesaplama, genel olarak tanımlandığı gibi, tamamen sözdizimsel bir oyundur. Kesin kurallara göre dönüştürülen fiziksel yapıların bir oyunudur. Fiziksel yapıları temsil etmek için tek aracımız (standart dönüşümlere kadar) sonuçta semboller dizisi olduğundan, hesaplama sembol dizelerinde bir tür resmi dönüşümler olarak tanımlanır. Bu Turing Machines, lambda-calculus, kısmi özyinelemeli fonksiyonlar ve diğer daha az popüler modeller için geçerlidir. Kalkülüs kelimesi (lambda-calculus'ta olduğu gibi) aslında bu görüşü yansıtmaktadır, çünkü Latince calculi temsil için kullanılan küçük taşlardır.

Ancak bunun söylemediği şey, bu sözdizimine hangi anlamın ekleneceğidir, neyi temsil ettiği. İşte bu tür konularda uzman olmadığım için anladığım kadar az şey var (bu yüzden beni tekrar kontrol et). Sorun model teorisi tarafından kapsanmaktadır .

Muhtemelen bir mantık (aksiyomlar ve çıkarım kuralları) veya bir hesaplama sistemi (dönüşüm kuralları) ile ilişkili resmi bir temsil sistemi göz önüne alındığında, biçimsel teorinin bir modeli, bu kuralları takip eden bileşenlerle matematiksel bir yapıdır.

Aynı hesaplama veya daha kesin olarak bir hesaplamanın aynı tanımı, aslında çok farklı varlıklara karşılık gelen birçok modele sahip olabilir.

Örneğin, bir GCD algoritması bir hesaplamayı tanımlar. Ancak doğal sayılar veya polinomlar üzerinde yorumlanabilir.

Bu Bertrand Russell'ın sözünü hatırlatıyor :

Matematik, ne hakkında konuştuğumuzu, ne söylediğimizin doğru olup olmadığını asla bilmediğimiz bir konu olarak tanımlanabilir.

Durum hesaplama için hemen hemen aynıdır. Hareketlerin birçok farklı şekilde anlaşılabileceği resmi bir oyundur. Ancak aslında resmi olarak aksiyomatik sistemler tarafından tanımlanan Matematik ve Hesaplama Teorisi arasında derin bağlar vardır.

Hesaplama, algoritma, matematiksel problemleri çözmek için tanımlandı ve modern kavramların çoğu, aksiyomlardan başlayarak ve çıkarım kurallarını uygulayarak teoremleri kanıtlamamıza izin veren mekanizmaları anlamaya çalışan mantıkçılar tarafından düşünülmüştü.

Bu nedenle, patlayan cihaza geri dönmek için, kesinlikle bir temsilin manipülasyonu, yani bir hesaplama olarak yorumlanabilir. Ancak, kendisinden başka herhangi bir anlamı ilişkilendirmek genellikle oldukça zordur.

Ancak, bu her zaman doğru değildir veya değildi. Analog hesaplama ilkesi, kesin bir şekilde ilişkili hesaplamalar için farklı gösterim sisteminin kullanılabileceği fikrine dayanır. Daha sonra, diğer sistemlerin (gerçekte kullanmak için çok kullanışsız, örneğin bir evren :) ilgili ayarda ne hesaplayacağına dair bir fikre sahip olmak için bir sistemle hesaplayabiliriz.


0

Terminoloji ile ilgili bu tür soruları etimolojik açıdan cevaplamayı seviyorum.

Yani hesaplama, edebi olarak "hesaplama" anlamına gelen Latince compŭtus kelimesinden gelir.

Fransızca, italyanca, ispanyolca veya portekizce (diğerlerinin yanı sıra) gibi latin dillerinde bu etimoloji, portekizce conta / conto vb.

Yani hesaplamak, bu hesaplamanın nasıl yapıldığını hesaplamak ve anlatmaktır.

Dolayısıyla şunu söyleyebilirim ki, hesaplama, belirli bir bilgiyi işlemek için matematiksel ve mantıksal kuralları kullanma sürecidir, böylece bu yeni bilgilerin nasıl üretildiğini (işlemci, bellek, girdi ve çıktı o zaman temel unsurlardır)


Fransızcada bir hikaye "conte", "cuento" ispanyolca. "Compte" bir hesaplama veya fatura olsa da, İspanyolca "cuenta". Bilmiyorum, her ne kadar sesteş sözcükler "compte" ve "conte" ortak bir etimolojiyi paylaşıyorlarsa ("h" afaik yok), ancak bu ortak etimoloji web'de doğrulanmış gibi görünüyor. Yani tüm bu hesaplanabilirlik işi sadece masal mıdır?
babou

Je l'ai corrigé. Bu tür hatalar
yapmamam

Ya da belki masallar sadece hesaplamalardır. Bazı başlangıç ​​koşullarında belirli bir kişiliğe sahip bir grup karakter alırsınız ve hikayenin geri kalanı hesaplanır
Luis Sieira

"bu yeni bilginin nasıl üretildiğini takip etmek (işlemci, bellek, giriş ve çıkış o zaman dahil olan temel unsurlardır)." Bu, bir kişinin bunu yaparken bellek kullanımlarını takip etmediği sürece bir işlemin bir hesaplama olmadığı anlamına gelmez mi? Kulağa doğru gelmiyor ...
Kelmikra
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.