Teorik bilgisayar bilimlerinde araştırma neleri içerir?


11

Teorik bilgisayar bilimi araştırmalarına neyin dahil olduğunu anlamaya çalışıyorum. Teorik bilgisayar bilimcileri ne yapıyor?

Yüksek lisans öğrencilerinin öğretilmesi, denetlenmesi, finansman başvurusu ve bölüm görevleri için önemli bir zaman harcandığını biliyorum. Onları bir kenara bırakmak, araştırma zamanınızı nasıl harcıyorsunuz? Genelde yaptığınız başlıca faaliyetler nelerdir? Sanırım kağıtları okuyup düşünür, toplantılar yapar ve belgeler yazarsınız. Başka var mı?


4
"araştırma zamanını nasıl harcıyorsun?" ... muhtemelen asla çözemeyeceğim sorunlarla karşı karşıya :-) :-)
Marzio De Biasi

7
Bu tabloyu "boyaları karıştırmak, bir tuval monte etmek, boyamak ve aletlerinizi temizlemek" olarak tanımlamak gibidir. Başka bir deyişle, izleyen birine neye benzeyebileceğini anlatıyor, ancak alanın ne ile ilgisi yok :)
Suresh Venkat

1
Diğer aktiviteler: spor, yürüyüş, kültürel aktiviteler ve daha genel olarak bir yaşam sürmek. Başka şeyler yapmak düşünmenize (ve sağlığınıza) yardımcı olur.
babou

7
Bence soru TCS araştırmasının felsefesi ya da sizi daha iyi bir araştırmacı yapan şey değil, aslında bir TCS araştırmacısının çalışma saatleri içinde ne tür somut faaliyetler yaptığıdır. Soruda halihazırda görünenlerin yanı sıra, görüşmeler hazırlamayı, görüşmeler yapmayı, konferanslara katılmayı, kendi makalelerini düzeltmeyi, başkalarının makalelerini incelemeyi de eklerdim.
Daniel Marx

2
Teşekkür ederim. Çalıştığınız araştırma sorularının türü hakkında bir fikrim var. Günlük aktiviteleriniz hakkında daha fazla bilgi edinmek istiyorum. Yazılım mühendisliğinde araştırma yapmak, bilgisayar programları geliştirmeyi, deneyler yürütmeyi, veri toplama ve analiz etmeyi içerir ... Teoride araştırmaya neyin dahil olduğunu bilmek istiyorum. Tipik iş gününüz nasıl?
undergrad cs öğrencisi

Yanıtlar:


12

Konularla ilgili

Teorik bilgisayar bilimi olarak kabul edilebilecek farklı sorunlar vardır . Buradaki önemli kelime " teorik " tir (bilgisayar biliminin neyle uğraştığı hakkında hepimizin bir fikri olduğu için). Teorik kelimeyi anlamak o kadar açık değildir. Uzun bir süre, örneğin "hack'lemenin" aksine, matematiksel anlamına geldim. Dilbilimdeki insanlardan daha iyi öğrendim: teorikonlar için açıkça matematiksel anlamına gelmez, ancak biraz da gayri resmi olabilecek bir teoriye dayanır (aynı zamanda matematiksel de olabilir) ve gözlemlenebilir olayların anlaşılmasını yapılandıran ve umarım tümdengelim ve öngörücü kullanıma izin veren organize bir bilgi ve kavramlar bütünüdür. edinilen bilginin Ayrıca, geri kalanların çıkartılabileceği ilkel kavramların sayısını azaltarak öğrenme ve öğretme miktarını da azaltır.

Teorik pratiklere karşı olabilir , bu bilgi aslında bilgi işlem motorlarını çalıştırmak, sistemleri oluşturmak vb . İçin kullanılır. Bu bilginin bilim ve insanın diğer alanlarındaki problemleri ele almak için kullanılması da uygulanabilir. faaliyetleri.

Ama kesin sınırlar olduğundan şüpheliyim.

Bu, teorik bilgisayar bilimi çeşitli alanları kapsıyor ve bazılarını vermeye çalışacağım, eminim başkalarını unuttuğumdan ve diğer insanların bu organizasyona katılmayabileceğinden eminim.

  • bir alan hesaplanabilirliktir , neyin hesaplanabileceğini ve oldukça soyut bir anlamda nasıl çalıştığını araştırır: büyük ölçüde Suresh Venkat'ın cevabında açıklanan.

  • bir diğeri, belirli kısıtlamalarla belirli sorunlara cevapları hesaplamak için etkili araçlar bulan algoritmalardır . Hesaplanabilirlik algoritma için teorik bir bağlamdır.

  • anlambilim (daha iyi bir isim istemek için), hesaplanmış problemlerin ve algoritmaların kavramsal organizasyonunu, alt kanıt kavramı, veri- yapılar, modüller, bilgi gizleme. Üst düzey akıl yürütmeye izin vermek için bu kavramları yeterince resmileştiren matematiksel araçların geliştirilmesini içerir (örneğin Scott semantiği). Ayrıca bunun ifade edilme biçimine, sözdizimi ve anlambilim arasındaki ayrılığa ve ilişkiye de değinir. Programlama dilleri kavramları bunun bir parçasıdır (dil tasarımı muhtemelen bu bilginin pratik uygulamasıdır). Ayrıca, ispat teorisi ve hesaplama teorisi ile tip sistemlerinin modern rolü arasındaki ilişkiyi de içerebilir.

  • şimdiye kadar olduğundan daha fazla gelişebilecek başka bir konu da hesaplama ve temel fizik arasındaki ilişkidir. Örneğin. hesaplama sınırları ile fiziksel dünyanın yoğunluğu ve fiziksel bilgi yoğunluğu ya da termodinamik yasaları gibi bir ilişki var mı? Kuantum hesaplama, hesaplama yeteneğimizi biraz artırabilir; Daha fazlasını umabilir miyiz? Bazıları bunun hala TCS olduğunu tartışabilir, ancak hiper hesaplama üzerinde TCS çalışmaları vardır .

Belirli faaliyetlerle ilgili

Akademik hayatın gerektirdiği bariz etkinlikleri atlıyorum. ya da endüstride bilimsel yaşam: öğretim, yayınlama, makaleleri inceleme, hibe başvuruları yazma, akademik sorumluluklar alma, insanları yönetme, öğrencilere ya da politika belirleyicilere danışmanlık yapma. Ancak o zaman bile, sorunuzun basit bir cevabı yoktur. Burada aklıma gelen birkaç yönü çiziyorum, ama söylenecek çok şey olduğundan eminim. Ve sana cevap verdiğimden emin değilim. En iyi bilim adamlarından bazıları çalışmaları hakkında kitaplar yazdı ve bu size bilimsel aktiviteler hakkında ipuçları verebilir.

Teoride araştırma yapmak, bilim adamından bilim adamına çok değişen becerilerinize ve ilgi alanlarınıza bağlı olarak çeşitli şeyler içerebilir. Bundan bahsetmek biraz zor, çünkü her insan kendi faaliyetini ve ilgi alanlarını diğerlerinden daha fazla algılıyor. Çoğu yeniden araştırma geniş bir bilgi gerektirir, çünkü ilginç ve gerçekten orijinal sonuçlar genellikle bir şeyleri ilişki içine sokmak veya bir tekniği bir (alt) alandan diğerine aktarmak veya aynı sorunun farklı teknik görüşlerini almaktan gelir. Bu nedenle, derinlikte olabildiğince genişlikte olabildiğince öğrenmek önemlidir. Bir öğrenci olarak veya bir genç öğretim üyesi / bilim adamı olarak bunun için zamanınız ve yeteneğiniz olsa da, sorumluluklar ve genel olarak yaşam nedeniyle her ikisinin de daha sonra azalacağını unutmayın. Uzmanlaşmadıklarınızı öğretmek öğrenmeye devam etmenin bir yolu olabilir.

İnsanların yaptığı işler çok çeşitlilik gösterebilir, çünkü insanlar neyse ki çok farklıdırlar, çok çeşitli ilgi alanları ve teknik yetenekleri vardır, böylece birbirlerini tamamlarlar. Bazı insanlar problem çözücüdür. Diğer insanlar veya kendileri tarafından ortaya konulan teorik veya pratik sorulara bakarlar ve bunları çözmeye çalışırlar veya tam veya kısmi bir çözüme yaklaşırlar. Diğer insanlar, mevcut bilgileri yapılandırmak ve ilişkiyi birleştirmek ve daha sonra sormak için yeni sorular bulmak konusunda daha iyi olacaklar. Her ikisi de esastır.

Teknik sonuçların daha basit kanıtlarını veya teorilerin daha basit sunumlarını bulmak veya kavramları birleştirmek önemlidir. Sonuçları genelleştirir, öğrenilecek şeylerin sayısını azaltır, temel fikirleri vurgular ve muhtemelen yeni bir anlayış getirir. Öğrenme süremiz sınırlı olduğundan ilerleme ancak bilgiyi yoğunlaştırdığımızda mümkündür.

Basit bir örnek, resmi dillerin soyut ailelerinin incelenmesidir. Dil teorisi ilk geliştiğinde, çeşitli operasyonlar altındaki kapatma özellikleri, aileye bağlı olarak ad hoc tekniklerle, her dil ailesi için (düzenli, bağlamsız, RE, ...) tekrar tekrar kanıtlanmıştır. Daha sonra bu kapatma özelliklerinin ilgili ailelerden bağımsız olarak içsel ilişkileri olduğu ortaya çıktı ve bu şekilde çalışıldı. Bugün, belirli bir aile için daha basit kapatma özelliklerinden sadece birkaçını kontrol etmemiz gerekiyor ve bir dizi diğer özelliği "ücretsiz" olarak alıyoruz.

Bir başka önemli nokta, teorik, pratik veya deneysel çalışma arasında net bir ayrım olmamasıdır.. İyi bir teori, sorunların çözümünü mekanize edebilen sistemlerin uygulanmasına yol açabilir. Sistem uygulaması veya dil tasarımı da dahil olmak üzere teorik ve pratik çalışmaların bir karışımıyla böyle bir sistemi uygulamak iyi bir teorisyen alacaktır. Prova ve / veya program sentez sistemleri, senkron paralel sistemler için özel dil, hesaplama karmaşıklığının sistematik olarak türetilebildiği kısıtlı bir algoritmik dil gibi birçok örnek akla gelmektedir. Sadece teorik sonuçları daha yaygın ve kullanılabilir hale getiren bu tür pratik sistemleri üretmek mümkün olmakla kalmaz, aynı zamanda teorisyenin bu sistemleri daha az yaratıcı olan kısımlarını boşaltmak için yeterli bir şekilde kullanmaları genellikle çok önemlidir. veya bu sistemin geliştirilmesine ve genişletilmesine katkıda bulunmak.

Diğer bir husus da kuramsal yaklaşımları pratik deneylerle karşılaştırabilmektir. Burada mesele, aynı amaca ulaşmak için farklı teknikleri karşılaştırmaktır. Uygulamaları karşılaştırmak genellikle anlamsızdır, çünkü verimlilikleri genellikle programlama diline veya uygulayıcının programlama becerilerine bağlıdır. Fakat eğer hepsi ortak bir teorik çerçevede ifade edilebilirlerse, bazen onları bu çerçevede deneysel olarak karşılaştırmak mümkündür. Burada, teoride ve pratikte, bilimde olduğu gibi birbirlerini desteklerler. Saf teorik analiz yapmak her zaman kolay değildir. Dahası, iyi analiz edildiğinde deneysel analiz, daha iyi teorik analizi motive edebilecek beklenmedik davranışlar sergileyebilir.

Dünya basit veya net değil. Bu yüzden eğlenceli olabilir, her türlü beceriye yer vardır. Kendi bilginizi sorgulamak ve başkalarının sorularını ne anlama gelirse cevaplamak.

Sıklıkla unutulan iki şey: bilim etiği ve bunu insanlara açıklamak. Her ikisi de elzem ve zor.


teori denemeye karşı ref gibi ama aslında TCS'de teorik / deneysel çalışma arasında en azından bu sitede eski olanı tercih eden / vurgulayan oldukça katı bir ayrım var gibi görünüyor ... ampirik çalışma karşılaştırmada büyük değil ....
vzn

8

Bir anlamda, bu siteye göz atmak teorik bilgisayar bilimcilerinin (düşük düzeyde) düşündüğü soru türlerini anlatacaktır. Çok yüksek bir düzeyde, teorik bilgisayar bilimcisi hesaplamanın matematiksel temelleri hakkında sorular soruyor:

  • ne hesaplayabiliriz?
  • bunu nasıl hesaplayabiliriz?
  • Ne kadar hızlı ?
  • hesaplamak için sınırlı kaynağımız olduğunda ne olur?
  • hesaplayabileceğimiz sınırlar nelerdir?

Bu sorulardan başlayarak, diğer konuların birçoğu ortaya çıkıyor, uygulama alanlarına, matematiğe, bilgisayar biliminin diğer bölümlerine vb.


Bu bana "Teori A" (mantıksal, anlambilim, programlama dili teorisi) değil, "Teori A" daki temel sorular (hesaplanabilirlik, karmaşıklık, algoritmalar) gibi görünüyor. ( Terminoloji hakkında bkz. Cstheory.stackexchange.com/q/1521/989 ).
Blaisorblade

4

1. el hesaplarının yardımcı olabileceği aklıma geldi, ancak bunlar CS'de (örneğin matematik, biyografik / anı benzeri yazı vb. aksine) biraz nadir görünüyor. burada soruyu ele alan ve yardımcı olabilecek iki çevrimiçi referans vardır. daha çok doktora öğrenci yaşamı ve CS odaklı olmayı hedeflemektedir, ancak çoğu profesör düzeyinde araştırmalara devam edecektir (öğretim dışında, aynı zamanda birçok doktora da yapmaktadır). [& bazı açılardan profesörler sürekli olarak / tekrar tekrar birçok “mini-” doktora tezi (araştırma makalesi) veya bazı durumlarda kariyerleri üzerine “süper- doktora tezleri (kitaplar)” yazıyor olarak görülebilir.] konu, sorunuz için kabul edilebilir bir cevap olacağını belirtirseniz bazılarını ekleyecektir.

  • Araştırma nasıl yapılır? Mevcut, eski ve fahri MIT AI Lab lisansüstü öğrencileri bir sürü tarafından MIT AI Laboratuarı'nda "/ David Chapman, Editör

    Bu belge, nasıl araştırma yapılacağını açıklamayı umuyor. Araştırma (okuma, yazma, programlama) ve sürecin kendisinin anlaşılması ve tadını çıkarmada (metodoloji, konu ve danışman seçimi ve duygusal faktörler) ihtiyaç duyulan spesifik becerileri edinmede faydalı olabilecek buluşsal yöntemler sunuyoruz.

  • Başarılı Bir Doktora Öğrencisi Olmak ( Bilgisayar Bilimlerinde) Mark Dredze (Johns Hopkins Üniversitesi), Hanna M. Wallach (Massachusetts Üniversitesi Amherst)


Ayrıca biraz araştırmacı günlük yaşam "iç görünüyor" ile yazılmış bazı bilgisayar bilimi bloglarından
çıkarılabilir
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.