1 3n dugaan

29 Agustus 2010

Dugaan 3n 1 atau dugaan Collatz adalah dugaan terpecahkan dalam matematika. Jadi apa yang 3n 1 dugaan? Dari wikipedia:

Mengambil nomor n alam. Jika n genap, bagi dengan 2 untuk mendapatkan n / 2, jika n adalah ganjil kalikan dengan 3 dan menambah 1 untuk memperoleh 3 n + 1. Ulangi proses tanpa batas. dugaan adalah bahwa apa pun nomor yang Anda memulainya, Anda akan selalu akhirnya mencapai 1.

Meskipun gagasan tentang dugaan sangat mudah dimengerti, maka rasa menjadi masalah yang sangat sulit untuk memecahkan / membuktikan.

Aku sedang melakukan belajar dari dugaan 3n +1. Seperti yang naif seperti aku, aku langsung ke depan mencoba membuktikan dugaan tersebut. Sekarang masalahnya dengan saya mencoba untuk memecahkan masalah yang sulit ini adalah bahwa saya tidak memenuhi syarat untuk disebut seorang matematikawan amatir. Saya hanya seorang programmer dengan banyak waktu luang. Selain itu, matematika adalah bidang maju dan aku tidak bisa memahami dasar literatur pada subjek. Anyway, bekerja pada ini menyenangkan dan jadi saya pikir saya akan dokumen di sini.

Pertama mari kita mulai dengan asumsi bahwa dugaan 3n 1 adalah benar, yaitu, apa pun nomor yang Anda memulainya, Anda akan mencapai nomor 1 pada akhirnya. Untuk membuktikan ini, kita akan menggunakan metode kontradiksi. Ini berarti bahwa kita akan mengatakan bahwa kondisi tertentu yang harus dipenuhi jika dugaan itu adalah palsu. Dengan membuktikan bahwa kondisi disediakan atau intermediate hasil memecah atau bertentangan dengan asumsi sebelumnya, kita dapat mengatakan bahwa asumsi bahwa dugaan tersebut adalah palsu, adalah palsu.

Jadi sekarang dengan asumsi bahwa dugaan tersebut adalah palsu, harus ada nomor (s) yang tidak mencapai 1 saat operasi diterapkan untuk itu tak terbatas. Mari kita sebut terkecil dari bilangan-bilangan X.

Jadi X adalah jumlah terkecil yang melanggar dugaan 3n 1.

(1) Asumsikan bahwa X adalah bilangan genap.

Jika X bahkan, operasi pertama yang harus dilakukan akan menjadi X / 2.

Karena X tidak dapat mencapai 1, X / 2 (yang ada dalam seri yang sama) tidak dapat mencapai 1. Ini berarti bahwa X adalah jumlah terkecil tidak melanggar dugaan (X / 2 lebih kecil).

Ini bertentangan dengan asumsi awal kami dan X tidak dapat bilangan genap.

(2) Sekarang, dengan asumsi X adalah ganjil.

angka ganjil dapat dibagi menjadi dua jenis (untuk kenyamanan kita).

  1. Angka-angka yang dapat diwakili sebagai 4n +1.
  2. Jumlah yang dapat direpresentasikan sebagai 4n +3.

dimana n = 0,1,2 ....

(2.a) Jika X adalah ganjil jenis 4n 1:

  X = 4n + 1 

Karena X adalah aneh, operasi pertama dilakukan pada X akan menemukan 3X + 1.

  3X + 1 = 3 (4n +1) + 1
 3X + 1 = 12n + 4 

Sekarang jumlah resultan adalah bilangan genap dan sehingga operasi berikutnya akan membagi dengan 2.

  (12n + 4) / 2 = 6n + 2 

Ini masih bilangan genap dan jadi kami bagi dengan 2 lagi:

  (6n + 2) / 2 = 3n + 1 

Ini berarti bahwa 3n + 1 adalah juga beberapa yang melanggar dugaan 3n 1. Sekarang seperti yang Anda lihat, 3n + 1 adalah bilangan yang lebih kecil dari X (yang sama dengan 4n + 1).

Jadi sekali lagi dengan metode kontradiksi kita dapat mengatakan bahwa jumlah X tidak akan dalam bentuk 4n + 1.

Jadi akhirnya kami yang tersisa dengan angka ganjil dalam bentuk 4n + 3.

Jadi kita tahu bahwa setiap nomor yang melanggar dugaan 3n + 1 akan menjadi bentuk 4n + 3.

Membuktikan bagian terakhir ini adalah diserahkan kepada pembaca sebagai latihan. (Maksudku, aku mencoba bagian ini selama beberapa hari, tapi tidak ke mana-mana.)

5 tanggapan sejauh

ReImages - gambar Forum di halaman web

28 Agustus 2010

Ini adalah bookmarklet untuk reload gambar dalam setiap halaman web tanpa reload halaman web itu sendiri.

ReImages

(Tarik link di atas untuk panel bookmark Anda atau klik kanan dan tambahkan ke bookmark Anda.)

Anda dapat klik link setiap kali Anda ingin memuat ulang halaman dalam setiap halaman web tanpa reload halaman itu sendiri. bookmarklet ulang gambar ini di <img> tag serta gambar latar belakang untuk setiap elemen di halaman.

Ini dapat sangat berguna dalam banyak kasus:

  1. Selama pengembangan web (terutama jika Anda bekerja pada sebuah gambar yang muncul hanya setelah Anda melakukan beberapa tindakan di halaman, seperti di pop-up).
  2. Ketika beberapa server (atau firewall bodoh atau beberapa perangkat lain) melayani Anda versi lama cache gambar.
  3. Ketika gambar besar di halaman tidak memuat secara lengkap dan ketika Anda mencoba untuk me-refresh halaman ini masih loading versi patah karena mendapat gambar dari cache browser

dan lain-lain

Ini adalah versi awal. Mari kita menyebutnya v0.9.

Saya telah menggunakannya untuk beberapa saat tanpa masalah apapun, tetapi saya mengetahui adanya bug Anda datang.

Jika Anda seorang pengembang web, lihat di indah ReCSS juga.

Namun tidak ada tanggapan

Buku dan Blog

4 Agustus 2010

Kata-kata kasar berikut.

Membaca adalah mengambil banyak waktu bebas saya hari ini. Tentu saja Saya tidak berbicara tentang membaca online. Menghabiskan waktu online telah menjadi tenggelam waktu yang sangat besar untuk saya (dan yang saya bisa bayangkan, untuk jutaan orang lain seperti saya) selama bertahun-tahun. Aku telah berpaling untuk membaca buku dengan lebih antusias sejak aku menyadari bahwa hal-hal yang saya baca online tidak tinggal dengan saya selama beberapa waktu, sedangkan buku yang saya baca memiliki cara mendalam untuk mengubah cara saya berpikir.

Nah, jangan salah paham, Aku tidak buta menyiratkan bahwa semua informasi di luar sana di web adalah buang-buang waktu. Saya hanya mengatakan bahwa untuk saya pribadi, buku memberikan kepuasan lebih ketika saya menyelesaikan satu dibandingkan dengan ratusan entri blog saya yang digunakan untuk memakan secara konstan. Meskipun saya telah memotong pendek pada jumlah blog saya kunjungi dan jumlah artikel saya benar-benar membaca, ada komunitas seperti Hacker News mana saya cenderung untuk bergaul. Hacker Berita merupakan sumber berita, informasi dan inspirasi untuk jenis aneh, tetapi juga mungkin memiliki efek membuang banyak waktu keseluruhan Anda jika Anda mulai percaya bahwa semua waktu yang Anda habiskan pada Hacker News adalah produktif.

Membaca itu sendiri bukan merupakan aktivitas produktif dalam arti absolut dari kata (atau dalam arti lain dari kata aku bisa bayangkan), tetapi adalah benar-benar pengalaman yang memuaskan dan memuaskan (untuk tidak menyebutkan bahwa stroke ego Anda bila ketinggian buku yang menumpuk di lemari Anda tumbuh lebih dari itu di kamar teman-teman dekat Anda '). Meskipun melibatkan kegiatan membaca buku yang tampaknya mirip seperti membaca blog, ada beberapa perbedaan nyata yang membuat mereka terpisah dalam dunia utilitas yang sebenarnya.

Yang pertama adalah bahwa mouse anda aliran konstan dari gangguan di ujung jari Anda. Setiap kali saya membaca sebuah artikel, saya mencoba (sia-sia) tidak untuk mengklik tab lainnya untuk memeriksa email saya atau statistik lalu lintas dari blog saya, belum lagi iklan dan link outbounds lain dalam halaman yang sama itu sendiri. Bahkan hyper-link dalam artikel yang Anda baca sangat mengganggu, menurut beberapa 1] [. Sekarang bahwa Anda telah menyadari hal, yaitu alasan saya tidak menggunakan hyper-link di tengah artikel ini. Banyak dari link di posting blog titik yang khas untuk definisi istilah dalam Wikipedia saja, dan mereka tidak sangat berguna, tetapi saya ngelantur.

Intinya adalah bahwa hanya tindakan duduk di depan komputer dengan tujuan mengkonsumsi internet diterjemahkan ke dalam ribu menarik (atau tidak relevan) artikel, berita, cerita, gambar dan video berjuang untuk perhatian Anda. Masalahnya adalah bahwa Anda hanya memiliki jumlah terbatas perhatian. Anda hanya memiliki jumlah terbatas barang Anda dapat memproses per day.Yes, ada batas untuk kemampuan kognitif Anda. Ini berarti bahwa ada batas untuk apa yang Anda dapat membaca dan mengasimilasi dalam waktu yang ditentukan. Dan ini pada gilirannya berarti bahwa semua gangguan adalah mendapatkan cara Anda belajar sesuatu yang bermanfaat. Sekarang saya tidak menganjurkan bahwa Anda meninggalkan bagian yang adil Anda lolcats, tetapi bertanya-tanya apakah Anda menghabiskan waktu lebih banyak pada mereka dari apa yang dapat dianggap dapat dimaafkan.

Perbedaan kedua antara buku dan blog adalah bahwa buku jauh lebih sulit untuk menulis dari posting blog. Anda bisa ceroboh saat menulis posting blog, mengetahui bahwa Anda kemudian dapat mengubah kata-kata Anda yang diperlukan. Buku sangat sulit untuk mendapatkan diterbitkan dibandingkan dengan posting blog. Memperoleh penerbit yang layak untuk menerbitkan buku Anda tidak akan mudah bagi Anda. Ini berarti bahwa hanya sedikit buku yang ditulis benar-benar dipublikasikan dan apa pun yang diterbitkan berjalan melalui banyak pengawasan dan mengedit yang meningkatkan kualitas bahan yang Anda dapatkan untuk mengkonsumsi. Ini tidak berarti bahwa tidak ada artikel yang ditulis dengan baik dan sehat-edited luar sana di web. Saya berbicara tentang posting blog khas (Omong-omong, mengacu pada hal-hal yang khas adalah cara yang bagus untuk mengatakan apa-apa yang Anda inginkan dalam argumen). Bahkan diberikan fakta-fakta ini, Anda dapat menemukan artikel besar membaca di web nilai dengan mengikuti agregator berita seperti Reddit atau Hacker News, tetapi sekali lagi ada masalah datang banyak waktu terbuang dengan situs ini. Meskipun agregator berita baik menemukan artikel-artikel terbaik di web, ada satu perbedaan mendasar lain antara buku dan esai yang membuat saya kembali ke buku-buku bagus.

Perbedaan ketiga antara buku dan esai adalah bahwa buku telah punya banyak waktu di dunia untuk meyakinkan Anda tentang gagasan bahwa mereka berusaha untuk menjual. Buku biasanya ratusan kali lebih lama dari posting blog yang biasa anda dan ini berarti bahwa penulis buku dapat memakan waktu untuk membangun dasar-dasar dan membangun mereka dan membawa pembaca melalui jeroan subjek ia ingin menulis tentang. Fakta bahwa sebuah buku membutuhkan ratusan halaman untuk menyajikan plot yang berarti bahwa ide buku itu mencoba untuk menjual akan tinggal di belakang pikiran saya selama bertahun-tahun, dibandingkan dengan pusat tesis esai yang akan dilupakan dalam hitungan menit ketika gangguan lainnya menempati otak saya.

Jadi permintaan saya untuk pembaca akan sayang untuk melengkapi apa yang Anda baca di web dengan beberapa bacaan offline sangat baik. buku yang baik dapat mengubah kehidupan Anda, sementara posting blog biasanya tidak kuat. Dan sementara kita berada di itu, hanya perlu diingat bahwa sesuatu yang berguna memproduksi dan membuat sesuatu yang orang ingin TM adalah cara yang lebih baik daripada membaca buku 24 jam sehari.

Itu saja. Kami adalah dilakukan di sini. Pergi.

[1] Percobaan dalam delinkification

[2] Foto kredit: somegeekintn

4 tanggapan sejauh

Di Internet Explorer

Jun 5, 2010

Web pengembang selalu mengeluh tentang cara menakjubkan di mana berbagai versi Internet Explorer yang terkenal situs Web mereka istirahat. Saat ini ada tiga versi IE yang ditemukan di alam liar untuk memberikan mimpi buruk untuk setiap pengembang web yang layak - versi 6, 7 dan 8. Saya pikir masalah dengan IE bukan hanya tentang keengganan tim IE untuk memenuhi standar web terbaru.

Masalah terbesar dengan IE adalah bahwa siklus rilis adalah gagal total. Sudah jelas untuk semua orang tapi Microsoft. Di bawah ini tercantum adalah tahun-tahun di mana tiga versi yang berbeda dari IE yang dirilis:

  • IE6 - 2001
  • IE7 - 2006
  • IE 8-2009

Bandingkan dengan titik rilis baru utama Google Chrome:

  • Chrome 3-2009
  • Chrome 4-2010
  • Chrome 5-2010
  • Chrome 6 - 2010 (diharapkan)

Beberapa mungkin berpendapat bahwa tidak adil untuk membandingkan hanya tanggal-tanggal tersebut tanpa mengetahui rincian sistem versi-ing tim menggunakan browser, tetapi izinkan saya mengatakan bahwa argumen ini masih tidak akan membantu mengubah menyalahkan dari tim IE. Google Chrome banyak merilis update kecil bahkan antara rilis besar dan kadang-kadang bahkan dalam setiap minggu.

Browser web tidak harus dianggap sebagai sekadar aplikasi desktop. Ini adalah sesuatu yang miliaran orang menggunakan setiap hari. Ini adalah aplikasi yang paling penting dalam komputer Anda. Ini adalah sesuatu yang harus diperbaharui minimal setiap bulan atau lebih daripada setiap 5 tahun. Saat ini patch dari Microsoft untuk IE hanya berkaitan dengan masalah keamanan. Sementara itu Firefox juga sedang berpikir tentang membuat mekanisme update mereka diam dan otomatis (yaitu tanpa intervensi pengguna) yang mirip dengan apa Google Chrome tidak. Jika tim IE tidak akan merilis update untuk browser mereka cukup sering mengapa repot-repot mengeluarkan sama sekali?

Sekarang berpikir tentang hal ini dengan jelas - saham A terbesar dari pengguna tidak cukup rajin untuk peduli terhadap versi browser yang mereka gunakan. Di luar dunia teknologi, banyak yang tidak tahu tentang ketersediaan versi browser yang lebih baik. Anda harus memperbarui perangkat lunak tanpa pengguna mengambil inisiatif. Seberapa sulit untuk mengetahui ini?

Jika Anda pergi ke situs IE9, Anda akan melihat skor berikut untuk IE9 versi pratinjau di tes Acid3:

Mengesankan? Nyaris begitu. Versi saat ini dari Google Chrome (5.0) sudah lulus uji Acid3 dengan skor 100! Selain itu masih ada laporan yang dapat diandalkan pada saat ini edisi yang tak ternilai IE9 akhirnya akan kapal setelah sekian bulan bekerja di memoles sudut bulat CSS. Ya, ada posting yang panjang di blog tim IE tentang seberapa dekat mereka mengikuti spesifikasi dari sudut CSS bulat, sementara mereka tidak berani membuka mulut mereka tentang tag <canvas>!

IE9 menawarkan akselerasi perangkat keras grafis rendering untuk performa yang lebih cepat, tapi apa yang dimaksud adalah bahwa IE9 tidak akan tersedia bagi pengguna windows XP. Perlu diketahui bahwa Windows XP adalah sistem operasi yang digunakan di sebagian besar dunia. Ini berarti bahwa ketika IE9 dilepaskan, pengembang web harus mendukung empat versi yang berbeda dari IE.

Salah satu bagian dari diriku berdoa agar mereka sebuah kapal yang lebih baik dari IE versi lama, sementara bagian lain dari paranoid saya berdoa agar mereka menghentikan pengiriman IE sama sekali. Menjaga sejarah IE dalam pikiran, saya punya alasan untuk menjadi paranoid.

Link:

  1. Blog tim IE
  2. CSS Corner: Tentang CSS sudut - IEBlog
  3. IE9 Acid3 Test

2 tanggapan sejauh

Apa bahasa pemrograman yang harus saya pelajari?

2 Maret 2010

Sameer bertanya apa bahasa pemrograman ia harus belajar. Di bawah ini adalah versi jawaban saya diedit.

tukang ledeng datang ke rumah Anda dan bertanya: "Apa alat yang Anda ingin saya gunakan?".

Apa yang akan menjadi balasan Anda peduli? "Aku tidak! Memperbaiki masalah sialan ".

Itu benar. Semua orang ingin mendapatkan pekerjaan mereka selesai, dan mendapatkan masalah mereka tetap. Mereka tidak peduli apa alat yang Anda gunakan. Sebagai pengembang tugas Anda adalah untuk memecahkan masalah pelanggan Anda memiliki dengan cara yang paling efektif. Ini berarti bahwa Anda tidak dapat menggunakan alat yang sama untuk setiap jenis masalah. Dapatkah Anda menggunakan driller listrik untuk memperbaiki kebocoran kecil di pipa? No Anda mungkin ingin menggunakan lakban untuk itu.

Bahasa mana yang harus saya pelajari adalah sebuah pertanyaan yang salah untuk memulai dengan. Bahasa adalah alat dalam kantong seorang insinyur perangkat lunak. Sebelum memutuskan pada bahasa pemrograman Anda ingin belajar, Anda harus menentukan jenis masalah yang Anda ingin bekerja. Apakah Anda ingin bekerja pada teknologi web? Apakah Anda ingin bekerja di ekosistem Linux? Apakah Anda ingin bekerja di platform mobile? Ada sejuta relung yang berbeda di dunia pemrograman dan Anda harus bertanya pada diri sendiri semua pertanyaan-pertanyaan retoris yang datang ke pikiran Anda dan kemudian memutuskan pilihan yang suite bahasa Anda.

Ini tidak peduli bahwa alat-alat yang tidak penting. Mereka, tetapi mereka tidak lebih penting daripada masalah di tangan.

Berapa banyak bahasa pemrograman yang harus Anda pelajari?

Tidak ada gunanya mencoba untuk belajar lebih banyak bahasa yang Anda bisa. Apa yang harus Anda lakukan adalah untuk mencoba dan belajar tentang sebagai bahasa sebanyak yang Anda bisa, dan kemudian memutuskan bahasa mana Anda harus mendapatkan keahlian masuk

Kembali ke analogi kita, apa alat menurutmu tukang ledeng harus membawa dalam tasnya? "Cukup alat untuk mendapatkan pekerjaannya selesai."

Tepat. Jika Anda tahu untuk menggunakan hanya satu perangkat, Anda mungkin terpaksa untuk bekerja dengan orang lain yang dapat menggunakan beberapa utilitas lain. Hal ini terjadi di kebanyakan perusahaan perusahaan IT. Dalam perusahaan besar Anda akan bekerja dengan orang lain yang memiliki keahlian di bahasa pemrograman dan alat-alat yang anda tidak tahu cara menggunakan. Ini memiliki keuntungan bahwa orang-orang akan menjadi nyata rock-bintang di bidangnya masing-masing sempit. Sebaliknya jika Anda ingin bekerja di tempat-tempat seperti startups (atau jika Anda ingin bekerja sebagai pengembang lepas), Anda mungkin ingin tahu sedikit dari setiap jenis alat di luar sana.

Tentu saja Anda tidak harus tahu menggunakan setiap jenis obeng. Anda hanya harus ahli dalam menggunakan satu model obeng yang baik. Demikian pula Anda tidak harus menjadi ahli dalam setiap bahasa pengembangan web. Hanya belajar pretty decent satu dan Anda harus baik-baik saja.

Setiap domain programming set alat untuk membantu Anda mengembangkan software. Jika Anda sedang mengembangkan situs web perusahaan, Anda mungkin akan bekerja dengan teknologi seperti Core Java, Servlets, EJBs, XML, Unix Shell Script, parser Log, Database, web-server Berbagai dll Hal ini berarti bahwa selain bahasa pemrograman ada banyak teknologi lain yang terkait dengan program yang Anda harus menguasai agar menjadi programmer yang baik.

Satu hal lagi yang harus Anda ketahui - semua bahasa pemrograman pada dasarnya berbeda satu sama lain. Beberapa bahasa yang mudah program (Python misalnya) sementara beberapa lainnya masih sulit (C / C + +). Saya tidak mengacu pada keahlian yang dibutuhkan dalam belajar bahasa. Saya mengacu pada upaya yang dibutuhkan dalam menulis program setelah Anda belajar bahasa. Jika Anda bekerja sebagai programmer di sebuah perusahaan IT, Anda mungkin akan belajar bahasa baru (mungkin sesuai kebutuhan bisnis) dalam jangka waktu yang sangat singkat. Anda akan mulai menulis kode yang layak di sekitar 1 minggu sampai 3 bulan waktu. Kemudian satu-satunya hal yang penting adalah bahasa apa yang Anda benar-benar lebih suka bekerja dengan. Jadi, jangan khawatir banyak tentang yang langauge lebih mudah untuk belajar; khawatir tentang bahasa yang lebih mudah digunakan. (Ada korelasi di sini meskipun. Anda akan menemukan bahwa dalam kebanyakan kasus, bahasa yang mudah untuk belajar adalah lebih mudah untuk program di juga)

Anda dapat belajar banyak tentang pemrograman dari forum programer pintar bergaul (misalnya Proggit dan Hacker News ), membaca artikel atas dan mengajukan pertanyaan-pertanyaan Anda di sana, Anda akan mendapatkan jawaban mendalam dalam.

Rahasia terbesar:

Anda akan menjadi seorang programmer yang baik hanya dengan - pemrograman banyak. Banyak siswa tidak program luar laboratorium mereka dan proyek kuliah, dan mereka tidak pernah menjadi programmer yang baik. Cobalah untuk melakukan coding di waktu luang Anda. Cobalah untuk menyelesaikan Proyek Euler masalah dalam bahasa pemrograman favorit Anda, atau mencoba untuk membangun sebuah situs web sendiri.

Setelah mengatakan semua ini di sini adalah beberapa tips tertentu. Ini mungkin atau mungkin tidak bekerja dalam kasus Anda:

  • pengembangan Enterprise: Belajar Java adalah baik. Jawa digunakan di toko-toko perangkat lunak banyak orang sebagai bahasa utama. Ini akan membawa Anda jauh dalam kebanyakan situasi. Pada saat yang sama, saya memiliki beberapa keberatan dengan menggunakan bahasa dari sudut pandang pemrogram startup. Baca diskusi di sini juga.
  • Pengembangan web: Tinggal jauh dari PHP. Ini adalah bahasa yang didesain dengan buruk. Sebaliknya, belajar Django atau Ruby on Rails. Jika Anda lebih suka menggunakan teknologi Microsoft ASP.Net MVC.
  • Windows pembangunan: Belajar C # (dan mungkin tidak Visual Basic). Untuk menjalankan aplikasi C # di Linux, check out proyek Mono.
  • Ada banyak tool pemrograman yang sangat baik atau IDE Anda harus mencoba untuk menguasai. Eclipse adalah IDE populer. Notepad + + adalah editor kode populer.
  • Anda harus belajar tentang hal-hal seperti Regular Expressions, Unicode, dll Keamanan Informasi (aku bahkan tidak bisa mencoba daftar semua topik)
  • Cobalah untuk mengikuti teknologi baru. Anda tidak perlu mempelajari semua bahasa terbaru, tetapi cobalah untuk memiliki kesadaran akan tren terbaru dalam pemrograman. Sebagai contoh, pengembangan web, pengembangan telepon selular dll adalah area di mana banyak inovasi yang terjadi. Anda tidak ingin ketinggalan salah satu dari mereka jika Anda intersted dalam bidang-bidang. Kemudian lagi, forum yang saya sebutkan di atas akan datang berguna.
  • Belajar hanya satu bahasa tidak ide yang sangat bagus. Belajar banyak bahasa juga bukan ide yang baik. Keseimbangan antara dua ekstrim ini dan berusaha untuk menjadi baik dalam setidaknya 2-3 bahasa pemrograman yang berbeda dalam berbagai bidang. (Seperti yang dijelaskan sebelumnya, bahasa yang berbeda digunakan untuk menyelesaikan berbagai jenis masalah)

Good luck!

13 tanggapan sejauh

Dicari: Superman

Feb 8, 2010

Beberapa waktu lalu, saya tidak bisa menahan mengirimkan jawaban berikut ini untuk orang ini di agen perekrutan:

Dear Sandhya,

Apakah ini lelucon? Apakah ada yang benar-benar pergi melalui tugas sehingga disebut sebelum meneruskan kepada saya? Apakah mereka meminta saya untuk membangun dua website penuh dalam 12 jam? Semoga berhasil menemukan kandidat yang bisa melakukan itu.

BTW, jika Anda bisa mendapatkan kandidat untuk membangun situs ini untuk Anda, mengapa Anda harus merekrut mereka? Saya harus mengakui, ini adalah cara terbaik untuk mendapatkan karya-karya Anda dilakukan secara gratis.

Aku menyesal. Aku benar-benar tidak tertarik untuk bekerja di perusahaan seperti bodoh.

(Terima kasih untuk menghubungi saya dengan tawaran though. Benar-benar menghargai itu. Let me know jika ada lowongan pada perusahaan yang tidak mencari superman sebagai programmer mereka.)

- Niyaz

Saya menahan diri dari melampirkan dua tugas mereka meminta saya untuk menyelesaikan sebelum wawancara. Bukan karena saya tidak ingin mengekspos perusahaan aktual yang mencoba untuk menipu saya ke dalam gedung website gratis, tapi karena ketika Anda melihat persyaratan yang akan membuat Facebook malu sendiri, itu akan membuat Anda sakit selama sisa hari .

4 tanggapan sejauh

Aliran PageRank

2 Februari 2010

Anda mungkin familiar dengan teknologi PageRank Google. Google mempertimbangkan banyak variabel untuk menghitung PageRank dari website Anda. Ini adalah diskusi pada versi sangat sederhana dari PageRank.

Asumsikan bahwa kita peringkat situs web dengan jumlah dan kualitas link yang masuk. Kualitas sebuah link masuk didefinisikan sebagai fungsi dari PageRank dari situs yang link ke yang lain.

Mari kita ambil contoh. Gambar berikut ini menunjukkan bagaimana kelompok kecil situs Web link ke satu sama lain.

Perhatikan bahwa situs web F tidak mempunyai link masuk website sementara G tidak mempunyai link keluar.

Sekarang dari grafik yang diberikan link kita harus mengetahui (relatif) PageRank dari masing-masing situs. Awalnya kami akan mengasumsikan bahwa semua halaman yang sama memiliki PageRank. Sekarang kita menghitung jumlah link masuk ke situs masing-masing dan mengubah PageRank sesuai dengan jumlah link yang masuk.

Kami mendefinisikan PageRank dari situs A sebagai:

PR (A) =? PR (x) / L (x)

dimana L (x) = jumlah link keluar pada situs x

dan x menunjukkan situs yang terhubung ke A.

Ketika Anda menjalankan algoritma ini untuk pertama kalinya, PageRank dari semua halaman bisa diperbarui. Sekarang masalahnya adalah bahwa sejak PageRank dari semua halaman telah diperbarui masuk, kita harus kembali menghitung PageRank dari halaman lagi untuk mengambil nilai-nilai PageRank baru ke dalam pertimbangan. (Anda dapat memprediksi masalah ini hanya dengan melihat bahwa fungsi adalah satu rekursif) Permukaan masalah yang sama. Di setiap iterasi algoritma.

Pertanyaannya adalah bahwa jika perubahan PageRanks dalam setiap iterasi, bagaimana kita tahu kapan untuk menghentikan iterasi? Apakah PageRanks pernah stabil? (Istilah yang tepat adalah konvergensi).

Berikut ini adalah script python untuk mensimulasikan perhitungan PageRank berkali-kali berulang untuk mengetahui apakah nilai konvergen atau tidak. Nilai output direpresentasikan dalam persentase. (Google menganggap nilai ini sebagai probabilitas seseorang mengunjungi situs web tertentu).

Grafik di bawah ini menunjukkan bagaimana PageRank perubahan setelah setiap iterasi:

Seperti Anda dapat melihat PageRanks sangat berfluktuasi di iterasi awal dan kemudian mereka stabil. Ini berarti bahwa fungsi PageRank menyatu.

Lain berpikir untuk dicatat adalah bahwa node lebih menambah grafik tampaknya tidak mempengaruhi konvergensi. Bahkan jika Anda dua kali lipat jumlah situs dalam koleksi, jumlah iterasi yang diambil untuk berkumpul tetap hampir sama. Lain juga telah mencapai hasil yang sama (ppt). Fungsi PageRank adalah sama dengan arus listrik mengalir melalui sebuah mesh. Bahkan jika ada banyak node dan sumber-sumber itu arus stabil (dan stabil sangat cepat).

Juga mencatat bahwa situs D memiliki PageRank tertinggi, yang akan diharapkan karena memiliki link yang paling masuk. Situs F memiliki PageRank terendah karena tidak memiliki link masuk.

Menurut algoritma ini, menghubungkan ke situs lain tidak mengurangi PageRank dari website Anda. Ada masalah walaupun. Ambil contoh kasus situs G. Itu tidak link ke situs lain. Ini berarti bahwa PageRank tidak mengalir keluar dari situs G ke situs lain. Jika situs G terhubung ke situs lain, itu akan meningkatkan PageRank dari situs lain dengan sedikit. (Kasus ini hanya mempengaruhi link pertama yang keluar dari situs manapun). Untuk mengatasi masalah ini, membagi Google PageRank dari situs seperti ini (sink disebut) untuk semua situs lainnya. Anda juga mungkin ingin membaca tentang faktor redaman .

Sebelum meninggalkan dapat Anda menjelaskan mengapa PageRank dari situs A lebih besar daripada situs B?

5 tanggapan sejauh

posting lama »