Algoritmalar hakkında iyi matematiksel kitap [kapalı]


11

Ben matematiksel zarafet ve titizlik için bir emici ve şimdi algoritmalar ve algoritma analizi ile ilgili literatürü arıyorum. Şimdi, hangi algoritmaların kapsandığı benim için çok önemli değil , ama nasıl sunuldukları ve tedavi edildikleri çok önemli değil.¹ En çok kullanılan tüm kavramları katı ve soyut bir şekilde tanımlayan çok açık ve kesin bir dile değer veriyorum .

Cormen, Leiserson, Rivest ve Stein'ın klasik Algoritma Girişinin oldukça düzgün olduğunu, ancak matematiği iyi işlemediğini ve kanıtları ve tanımları ile gayri resmi olduğunu buldum . Sipser'in Hesaplama Teorisine Giriş bu bakımdan daha iyi görünüyor, ancak yine de matematikten algoritmalara kesintisiz bir geçiş sunmuyor .

Herkes bir şey önerebilir mi?


¹: Algoritmalar en azından grafik, diziler, kümeler, listeler, ağaçlar ve benzeri klasik önemsiz soyut veri yapılarını kullanarak ihtiyaç duydukları verilerin yönetimini başlatmalıdır - tercihen bu veri yapıları üzerinde de çalışırlar. Veri yapılarının kullanımı ve yönetimi konusu tamamen göz ardı edilirse fazla ilgilenmezdim. Bununla birlikte, onlarla çözülen problemleri umursamıyorum.


2
Bu özneldir; "iyi" yi tanımlar. Ayrıca, liste soruları için katı bir politikamız olmasa da, genel bir hoşnutsuzluk var . Lütfen buna ve bu tartışmaya da dikkat edin ; orada açıklanan sorunlardan kaçınmak için sorunuzu geliştirmek isteyebilirsiniz. Sorunuzu nasıl geliştireceğinizden emin değilseniz, Bilgisayar Bilimi Sohbetinde size yardımcı olabiliriz ?
Raphael


@Raphael Teşekkürler. Başlıkta sadece “iyi” kelimesini kullandım, soruma ne istediğimi söyledim. Kasıtlı olarak çok belirginleşmeme rağmen, en azından netlememin matematiksel zarafet ve titizliğe (ima edildiği gibi) açık olması gerekir . Bu cevabın bir kitap listesi için çığlık attığını düşünmüyorum, çünkü o kategoriye giren çok fazla kitap olmamalı - ve öyle olsa bile, “katı bir sorunun saflığını korumak- cevap yapısı ”şey burada birkaç stackexchange sitesinde oluyor - ama benim çağrı değil sanırım. Soruyu geliştirip geliştiremeyeceğimi bilmiyorum.
k.stm

Ayrıca, “referans-talep” in soru için uygun olduğunu düşünmüyorum. En azından açıklamasına göre: Ne kağıt arıyorum ne de belirli ve dar bir konuyla ilgileniyorum. Aslında, hangi içeriğin kapsandığına oldukça açıkım, ikinci cümle bakın. Etiketi tekrar kaldırmam uygun olur mu? Belki de ne tür algoritmalara sahip olabileceğimi daraltabilir miyim?
k.stm

2
Belki de anlamsal anlambilim ve program doğrulamayı incelemelisiniz.
Yuval Filmus

Yanıtlar:


7

Hendrik Lenstra 1992'de şunları yazdı :

Sıkı bir matematiksel bakış açısından, bir algoritma ve çalışma süresi ile ne demek istediğimi tanımlamam isteniyor olsa da, bunu yapmayacağım. Asıl mazeret bu tanımları kendim bilmemem. Daha da kötüsü, kesin, zarif ve çalışmak için uygun olan uygun teorinin tedavisini hiç görmedim. Literatürdeki bu görünür boşluğu doldurmak övgüye değer bir girişim olacaktır.

O zamandan beri herhangi bir ilerleme kaydedilip gerçekleştirilmediğini veya bunun fikir birliği tarafından “boşluk” olarak kabul edilip edilmediğini bilmiyorum. Ancak mesele, en azından bazı seçkin matematikçilerin, algoritmaların türetilmesinin matematiksel titizliğinden memnun olmadıklarıdır. Dolayısıyla, OP'nin istenen formalizm düzeyine sahip bir kitap olmayabilir.

Sepeti, pratik açılardan biz Knuth, nedeniyle var Gries , Stepanov ve diğerleri matematik daha yardım programcıları amaçlanan ve bu yüzden kaçınılmaz öznellik kısa sert olmasına ve uzun düşmektedir.

Bununla birlikte, Stepanov'un çalışmaları, Silikon Vadisi'nde bilimsel bir sentezde en iyi girişimlerden biri olarak yaygın şekilde takdir görmektedir.

Gelen Programlama Unsurları Alexander Stepanov ve Paul McJones algoritmalarının soyut cebirsel temellerini çalışırlar. Kitap, kuşkusuz varlıkların, değerlerin ve niteliklerinin gayri resmi bir aksiyomatik tanımlarıyla başlar , ancak 288 sayfada Standart Şablon Kütüphanesinin temellerine bir dizi lemma ile tümdengelimli olarak ilerler.

TOK, önsöz ve bir örnek bölüm Dönüşümler ve Onların Yörüngeler bulunabilir burada ve bir giriş dersi burada .

Stepanov'un daha yeni ve rahat kitabı, Matematikten Genel Programlamaya kadar , daha çok matematik tarihinin bir yol haritası, Mısır çarpımından monoidlere, yarı gruplara ve Lagrange teoremine dayanarak yapılandırıldı ve sonunda kullanılan yineleyiciler ve algoritmalar ile modern veri yapıları geliştirildi. STL.


?!? "Şu anda bir algoritma kavramının kesin, zarif ve kullanışlı bir matematiksel türevi yok ..." bir Turing makinesine
vzn

1
Lenstra, bağlantılı makalede Turing makinelerine hitap ediyor, ancak bence fikir tam bir cebirsel analiz sağlamıyorlar. Alıntı, kendiniz okumak istiyorsanız, "boşluk" kısmı da dahil olmak üzere, hemen hemen kelimesi kelimedir. Tartışmalı kabul edilmesi durumunda, önerilen "fikir birliğini" kaldırmak için yayını düzenleyeceğim.

ofc duyuyorum / Lenstra'dan alıntı yaptığınızın farkındaydı, ancak dikkat çekici / tartışmalı / tartışmalı iddiasının alıntılarını veya daha uzun bir
bloku ekleyebilirsiniz

Turing makinelerinin türetilemeyeceğini düşünün , aksine bir hesaplama sisteminin aksiyomunu oluştururlar (ala -Kilise Turing tezi ). TM mevcudiyetinin aksiyomundan türetilen tüm Lenstras analizi ve genel olarak CS'dir .
vzn

1
@ Raphael, eğer annem odamı düzgün bir şekilde temizlemenin "övgüye değer bir işletme" olacağını söylüyorsa, konuşmasının özü "odanızı temizlemekle uğraşmayın." Seni yanlış mı anlıyorum yoksa beni yanlış mı anlıyorsun?

7

Sanırım tarif ettiğiniz kitabın bir adı var. Yedi ciltte, sadece üç buçuk tanesi yayınlandı. Bu denir Bilgisayar Programlama Sanatı , (TAOCP) ve Donald Knuth tarafından yazılmıştır.

Bazen uygulamaları tarif edecek olsa da. Ancak bunu her zaman atlayabilirsiniz ve içeriğin çoğunu oluşturduğundan şüpheliyim. Matematik konusunda çok hayal kırıklığına uğramamalısınız.


Bu cevabın geleceğinden korktum. Ona baktım ve bana uymadı. “Matematikten çok hayal kırıklığına uğramamalısın.” - belki, ama Knuth da bir şeyleri tanımlamıyor gibi görünse de, onu gayri resmi olarak tanıtarak açıklar. Fikirle karşılaşmak harika, matematikten beklediğim şey değil.
k.stm

Belki de çalışmalarının matematiksel olarak gizlenmiş versiyonunu yayınlayarak alana katkıda bulunabilirsiniz. Ama ilginizi çeken şey “matematikten algoritmalara kesintisiz geçiş” ise, sizin için daha iyi bir konu tip teorisi olabilir. Matematik ve algoritmalar arasındaki ilişki halen bir araştırma konusudur.
babou

1
Not: "Bu cevabın gelebileceğinden korkuyorsanız", sorunuzda ana referans kitaplarından biri olduğu için bunu söylemeliydiniz. Eksiksiz ve belgelenmiş sorular daha iyi yanıtlar alır.
babou

Sadece bilgisayarımdan uzaktayken soruyu sorduktan sonra bana geldi. Knuth'un kitabındaki sözler aşağılayıcı bir şekilde ele alınmamalıdır (bu yüzden “matematiksel olarak gizlenmiş versiyonu yayınlamak” yorumu için aldığınızı düşünüyorum - muhtemelen küfürün yanında olacak gibi. Onun yolu da benim aradığım şey değil. Belki de orada hayal ettiğim gibi bir şey yoktur…
k.stm

2
@ k.stm Kendi içinde bütün bir konu olan şaşkınlığı unutun. Mesele şu ki, algoritmanın (henüz?) Matematik olmadığını düşünüyorum. Biçimlendirmeler alabilirsiniz, ancak büyük olasılıkla, maddeyi kaybeden, çok az fayda sağlayan basit kodlamalar olmaları muhtemeldir. Bu konuya bağlı. Muhtemelen önemli algoritmaları olan otomata teorisi için çok daha az doğrudur. Mesele şu ki, yapıların soyut matematiksel doğasını yeterince tanımlamak açık değildir. Bu bir anlayış meselesidir, resmileştirme değildir ve yıllar alır. Fizik gibi düşün
babou
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.