[分析] 構造/非構造式證明
想用下面這個例子詢問一下如標題的問題:
令r = 2^0.5
令a_n := n/(floor(n/r))
則我們知道a_n→r
那這樣a_n算是2^0.5的構造性證明嗎?
(或許要先定義採用的公設? 比如除法反元素與floor函數的存在性)
-----------------------------------------------------------
其實最初我想問的不知道怎麼下標題...
就是找"2^0.5的逼近方法", 一堆資料教你造遞迴/數列...的有理數逼近方式(假設叫b_n)
但是我問題就在於 a_n := n/(floor(n/r)) 也是一種逼近方式, 而且也是有理數列
那b_n跟a_n就差在"電腦能不能算"這個沒定義的名詞?
而a_n最大的不同是, 他把要逼近的r拿來用了
可是這步在邏輯上並沒有錯, 因為r本身存在了, 我只是要逼近他
我目前卡在沒有定義去區分a_n跟b_n有哪裡不同
只能用一些口述語言(電腦能不能算/把r拿來用...)來描述
有關於這區別的專有名詞嗎
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.102.225.191 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Math/M.1659626215.A.35B.html
推
08/04 23:42,
3年前
, 1F
08/04 23:42, 1F
→
08/04 23:42,
3年前
, 2F
08/04 23:42, 2F
V大你是說其中一種b_n的造法吧?
還是說a_n可以改寫成這樣?
又或是說我的問題變成 "實務上如何實作a_n" ?
推
08/04 23:47,
3年前
, 3F
08/04 23:47, 3F
→
08/04 23:49,
3年前
, 4F
08/04 23:49, 4F
→
08/04 23:50,
3年前
, 5F
08/04 23:50, 5F
對耶...這樣造a_n分母的方法跟其中一種b_n根本一模一樣XD
所以a_n算是...對的但是多此一舉的造法XD?
推
08/04 23:55,
3年前
, 6F
08/04 23:55, 6F
→
08/04 23:56,
3年前
, 7F
08/04 23:56, 7F
→
08/04 23:56,
3年前
, 8F
08/04 23:56, 8F
→
08/04 23:57,
3年前
, 9F
08/04 23:57, 9F
→
08/04 23:57,
3年前
, 10F
08/04 23:57, 10F
推
08/04 23:59,
3年前
, 11F
08/04 23:59, 11F
→
08/04 23:59,
3年前
, 12F
08/04 23:59, 12F
→
08/05 00:00,
3年前
, 13F
08/05 00:00, 13F
以根號2的例子來說, V大的做法(或是說是其中一種b_n)是"可計算性"
又可以說是給我這個a_n一種可計算性的算法
如果今天r是zeta(5)的話, 我這種a_n造法目前是不可計算?
但是絕對是合邏輯的構造性證明?
應該說我想確定的名詞是: 構造性證明又分可計算性跟不可計算性?
而迄今有演算法發表的都分類在"可計算性",
但不排除那些"不可計算性"的在未來會變"可計算"?
※ 編輯: znmkhxrw (59.102.225.191 臺灣), 08/05/2022 00:06:17
推
08/05 00:47,
3年前
, 14F
08/05 00:47, 14F
→
08/05 00:47,
3年前
, 15F
08/05 00:47, 15F
→
08/05 00:47,
3年前
, 16F
08/05 00:47, 16F
→
08/05 00:47,
3年前
, 17F
08/05 00:47, 17F
→
08/05 00:47,
3年前
, 18F
08/05 00:47, 18F
聽你這麼說, 對於任何實數r, 如果已經有"可計算性"的構造有理數解q_n→r
則令 a_n := n/floor(n/q_n), 都可以得到a_n→r, 而且a_n也是可計算的
所以才說多此一舉?
如果是這個意思我完全可以接受
只是我這篇想要的區別是:(以下正確嗎?)
對於任何正實數r>0, a_n := n/floor(n/r) 都是構造解 -- (正確)
對於任何正實數r>0, a_n := n/floor(n/r) 都是可計算性 -- (未知)
而這個"未知"要變"正確"的話, 如果已經有"任何正實數都有可計算性解"這個定理
那就是正確的
我想要區分的就是以上這件事而已, 所以才說是名詞定義問題(?
推
08/05 01:16,
3年前
, 19F
08/05 01:16, 19F
→
08/05 01:16,
3年前
, 20F
08/05 01:16, 20F
→
08/05 01:16,
3年前
, 21F
08/05 01:16, 21F
→
08/05 01:16,
3年前
, 22F
08/05 01:16, 22F
→
08/05 01:16,
3年前
, 23F
08/05 01:16, 23F
問到這邊好像有點混亂...
還是說我最初的問題本來就沒定義, 所以才導致我無法明確地講出怪的點@@?
最初單純就是: 我想要讓電腦逼近任何實數r, 可是如果用a_n:= n/floor(n/r)
的話, 我根本還沒拿到r(雖然已經存在), 所以a_n行不通
但是邏輯上a_n這樣的造法卻是正確的
而之後你V大你上面的回答好像是在說任何實數r, floor(n/r)都可以算出來
推
08/05 01:33,
3年前
, 24F
08/05 01:33, 24F
目前應該是定義"問題"耶...就是我無法用既有定義去描述為什麼我覺得怪
舉個極端的例子, 今天如果有個問題是:
請寫出演算法造出有理數列逼近ζ(exp(π)), ζ是zeta fucntion
我如果寫: 令a_n := n/floor(n/ζ(exp(π)))
在數學上是100分, 但是在實作上是0分, 因為拿不到floor(n/ζ(exp(π)))
除非我又去補充floor(n/ζ(exp(π)))的演算法
推
08/05 04:56,
3年前
, 25F
08/05 04:56, 25F
→
08/05 04:57,
3年前
, 26F
08/05 04:57, 26F
→
08/05 04:57,
3年前
, 27F
08/05 04:57, 27F
→
08/05 04:58,
3年前
, 28F
08/05 04:58, 28F
確實如果能 " 證明所有實數都有計算機上的演算法逼近 "--(●)
那我原文造的a_n也就很容易寫出演算法實現(由上述定理演算法先逼近r, 之後trivial)
如果(●)這個敘述是有定義而且正確的, 那就能緩解我所謂的
" a_n邏輯是對的但實作(for any real number)很怪 "的感覺
※ 編輯: znmkhxrw (59.102.225.191 臺灣), 08/05/2022 05:12:22
→
08/05 15:44,
3年前
, 29F
08/05 15:44, 29F
→
08/05 15:46,
3年前
, 30F
08/05 15:46, 30F
理解~
→
08/05 16:43,
3年前
, 31F
08/05 16:43, 31F
還有 137 則推文
還有 6 段內文
→
08/09 13:34,
3年前
, 169F
08/09 13:34, 169F
→
08/09 13:35,
3年前
, 170F
08/09 13:35, 170F
→
08/09 13:36,
3年前
, 171F
08/09 13:36, 171F
推
08/09 14:50,
3年前
, 172F
08/09 14:50, 172F
→
08/09 14:52,
3年前
, 173F
08/09 14:52, 173F
→
08/09 14:53,
3年前
, 174F
08/09 14:53, 174F
推
08/09 15:46,
3年前
, 175F
08/09 15:46, 175F
→
08/09 15:46,
3年前
, 176F
08/09 15:46, 176F
→
08/09 16:37,
3年前
, 177F
08/09 16:37, 177F
→
08/09 17:38,
3年前
, 178F
08/09 17:38, 178F
→
08/09 20:05,
3年前
, 179F
08/09 20:05, 179F
→
08/09 20:07,
3年前
, 180F
08/09 20:07, 180F
→
08/10 13:01,
3年前
, 181F
08/10 13:01, 181F
→
08/10 13:01,
3年前
, 182F
08/10 13:01, 182F
推
08/10 18:41,
3年前
, 183F
08/10 18:41, 183F
→
08/10 18:41,
3年前
, 184F
08/10 18:41, 184F
→
08/10 18:41,
3年前
, 185F
08/10 18:41, 185F
→
08/10 18:42,
3年前
, 186F
08/10 18:42, 186F
→
08/10 18:42,
3年前
, 187F
08/10 18:42, 187F
→
08/10 18:43,
3年前
, 188F
08/10 18:43, 188F
→
08/10 18:45,
3年前
, 189F
08/10 18:45, 189F
→
08/10 18:45,
3年前
, 190F
08/10 18:45, 190F
→
08/10 18:46,
3年前
, 191F
08/10 18:46, 191F
→
08/10 18:46,
3年前
, 192F
08/10 18:46, 192F
→
08/10 18:47,
3年前
, 193F
08/10 18:47, 193F
→
08/10 20:48,
3年前
, 194F
08/10 20:48, 194F
→
08/10 20:49,
3年前
, 195F
08/10 20:49, 195F
→
08/10 20:50,
3年前
, 196F
08/10 20:50, 196F
→
08/10 20:55,
3年前
, 197F
08/10 20:55, 197F
→
08/10 20:56,
3年前
, 198F
08/10 20:56, 198F
→
08/10 20:58,
3年前
, 199F
08/10 20:58, 199F
→
08/10 20:58,
3年前
, 200F
08/10 20:58, 200F
→
08/10 21:06,
3年前
, 201F
08/10 21:06, 201F
→
08/10 21:07,
3年前
, 202F
08/10 21:07, 202F
→
08/10 21:10,
3年前
, 203F
08/10 21:10, 203F
推
08/11 02:30,
3年前
, 204F
08/11 02:30, 204F
回覆以上:
------------
沒錯就是我到目前認識的定義無法嚴格描述我的問題, 才導致總總猜測跟模稜兩可
這裡簡短整理綜合以上的資訊
<定義1> 構造性證明(constructive proof)有其嚴格定義
而非構造性證明稱作存在性證明
<定義2> 可計算性有其嚴格定義, 又稱做可構造性, 描述的對象是實數
<問題1> 以下關於《任何實數都存在有理數列逼近》的證明是構造性還是存在性證明
pf: 對任何實數r, 令a_n:=floor(nr)/n, 則a_n→r
<答案1> 構造性證明(具體原因涉及<定義1>)
<問題2> 對任何實數r, floor(nr)都可計算(採用<定義2>)
<答案2> 否! 只有可數個實數r其floor(nr)才可計算(具體原因涉及<定義2>)
而我目前是看成"有演算法 = 可計算性"
如果不是的話, 還要再定義何謂"有演算法", 問題又會有分支
就先不引入"演算法"這個詞彙了
※ 編輯: znmkhxrw (59.102.225.191 臺灣), 08/12/2022 02:16:41
推
08/12 17:58,
3年前
, 205F
08/12 17:58, 205F
→
08/12 17:59,
3年前
, 206F
08/12 17:59, 206F
原來有這個名詞, 謝謝L大~
※ 編輯: znmkhxrw (59.102.225.191 臺灣), 08/18/2022 21:22:45
討論串 (同標題文章)