2022-07-04 分類: 網(wǎng)站建設
人的思想是世界上無法研究明白的,有的人喜歡簡單,有的人就喜歡復雜,所謂的想太多
每個人的想法都不一樣的,世界大同了,那么只需要活一個人便好了,想開些,你提這個問
題本身就是復雜了。
這段時間互聯(lián)網(wǎng)上火熱的流傳著一個智力測試題。題目出現(xiàn)的形式有多種,但大多看起來是這個樣子:如果是學齡前兒童,5-10分鐘能解決這個問題,普通程序員要1個小時,受過更高教育的人…
8809=6
7111=0謎底揭示 …
期實答案很復簡單,答案跟每個數(shù)字里有多少個圈圈有關。在形狀上,8有2個圈,所以記兩次。0是一個大圈,記1次。所以2581=2。很有趣,不是嗎?這是一種通過隱含的計算方式得出的另一種數(shù)值對應關系。
而困擾著我的卻是如何能以一種不基于數(shù)字形狀的方法來找到這種數(shù)值對應關系。我如何能編程讓計算機來解決這個問題?我認真思考了一下,因為我喜歡自 認為是一個計量經(jīng)濟學家,這道題看起來頗像一個可以通過一個OLS(ordinary least squares)表達式來解決的聯(lián)立方程式。那么,如何能講將這個問題和涉及到的數(shù)據(jù)轉(zhuǎn)化成一個小小的OLS表達式呢?我需要將每行的數(shù)字隊列轉(zhuǎn)換成一個 描述數(shù)字出現(xiàn)頻率的表格。這樣,對于8809=6來說,我需要重構出來的數(shù)據(jù)應該類似于這樣:
1,0,0,0,0,0,0,0,2,1 = 6
在這種形式的公式中,9個數(shù)字分別代表著數(shù)字1-9在每串數(shù)據(jù)中出現(xiàn)的次數(shù)。我不知道如何得出這張頻次表,于是,按照我的習慣,我把這個問題做了一個簡潔的描述,張貼在StackOverflow.com上,如我愿的得到了一個極好的方案。一旦我建好了頻次表,問題就變成了一個簡單的關于10個獨立變量的線性表達式。
## read in the training data ## more lines than it should be because of the https requirement in Github temporaryFile <- tempfile() download.file("https://raw.github.com/gist/2061284/ 44a4dc9b304249e7ab3add86bc245b6be64d2cdd/problem.csv", ## munge the data to create a frequency table freqTable <- as.data.frame( t(apply(series[,1:4], 1, function(X) table(c(X, 0:9))-1)) ) destfile=temporaryFile, method="curl") series <- read.csv(temporaryFile) names(freqTable) freqTable$dep <- series[,5] four + five + six + seven + eight + nine, data=freqTable) ## now a simple OLS regression with no intercept myModel <- lm(dep ~ 0 + zero + one + two + three + round(myModel$coefficients) <- c("zero","one","two","three","four","five","six","seven","eight","nine")
最終的輸出結果如下:> round(myModel$coefficients) zero one two three four five six seven eight nine 1 0 0 0 NA 0 1 0 2 1
你可以看到,0,6和9對應的值是1,而8對應的值是2。其它數(shù)字對應的都是0。而4得出的是NA,這是因為數(shù)字序列中沒有出現(xiàn)4。
這個世界上永遠有兩種人,一種人總希望把問題簡單化,一種人則總喜歡把簡單的問題復雜化。
分享標題:我們多少問題都復雜化了
分享網(wǎng)址:http://jinyejixie.com/news/174309.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、ChatGPT、網(wǎng)站營銷、用戶體驗、網(wǎng)站導航、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容