The Simplest Math Problem No One Can Solve

niranga1989

Well-known member
  • Jan 29, 2021
    7,742
    11,083
    113
    The notorious Collatz Conjecture. Proposed in the 1930s by Lothar Collatz, this is also referred to as the "3x+1 Conjecture" or the "Syracuse Problem". It's notorious because it has wasted so much valuable time of many mathematicians.

    About three years ago the quite well known Australian born Terence Tao (Professor of Maths, UCLA) posted a proof showing that — at the very least — the Collatz conjecture is “almost” true for “almost” all numbers. While Tao’s result is not a full proof of the conjecture, it is a major advance on this problem.

    It's also noteworthy to mention John H Conway, one of the most versatile mathematicians of the past century, who made influential contributions to group theory, analysis, topology, number theory, geometry, algebra and combinatorial game theory. (He sadly passed away due to Covid in April 2020.)

    John Conway developed the language FRACTRAN using the Col( ) function. It's "A SIMPLE UNIVERSAL PROGRAMMING LANGUAGE FOR ARITHMETIC" -
    No complicated programming manual, the entire syntax can be learned in 15 secs, quite complicated functions can be written immediately.
    FRACTRAN is Turing complete, meaning any computation that can be performed by a computer can also be computed using a FRACTRAN program subject to some limitations. (In the Turing machine itself)
    gaana hadanawata wada amarui meka kiyawala therum ganna eka
     

    Ridunapm

    Well-known member
  • Jun 22, 2022
    2,005
    2,673
    113
    මමත් ඕක කරලා ඊයේ අතෑරියා. උබේ ඔය මෑත ටර්ම්ස් නම් මට තේරෙන්නේ නැ . හැබැයි උබ සරලව කියන්නේ සංක්‍යාවක් දැම්මම එකේ 1 එන්න කලින් ඉටෙරෂන් කියක් ගියාද කියන එකනේ? එක උබ 10 ත් බලෙකට යනකන් කරලා එකේ එන අගයන් ප්‍රස්තාරේක දාන්න කතාවක් නේ කියන්නේ නේද?
    මම කියන්නෙ බං ඉලක්කම් හද හද හිටියාට වැඩක් නෑ. අපි බලන්න ඕන 3x+1 එක උත්තරය 1 වෙන්න යන පියවර ගාණ. ඉලක්කම කීයට ගිහින් අ‍ාවත් අපිට වැඩක් නෑනෙ. පියවර කීයකින් වැඩේ වෙනවාද කියලා බලනවා.

    මම සිංහලෙන්ම code එකේ results දැම්මා. දැන් ඕන එකෙක්ට තේරෙනවා අ‍ැතිනෙ. Limit එකක් ගත්තාම (1000 කියලා හිතමු.) එකේ ඉඳලා එ‍් දක්වා තියාන සේරම ඉලක්කම් 1 වෙන්න යන උපරිම step ගාණ තමයි ඔය එන්නෙ.

    එතනින් හිතන්න තියෙන්නෙ මේකයි. අපි ලොකු ලොකු ගණන් දානවා, හැබැයි ඔය හැම එකක්ම 1 වෙන්න යන්නෙ හරිම චූටි පියවර ගාණක්. උපරිම ගාණ ඔහොම එනවා කියන්නෙ එ‍් සීමාවෙ වෙන කිසිම ඉලක්කමක් ඊට එහා පියවර ගාණක් යන් නෑ.

    ඔය conjecture එක බොරු වෙන ඉලක්කමක් තිබුණා නම් එක්කො steps ගාණ අනන්තයක් වෙන්න ඕන. නැතත් අඩුම වශයෙන් limit එකට වඩා වැඩි වෙන්න ඕන. එ‍්ත් එහෙම වෙන එකක් නෑ විතරක් නෙවෙයි, ඉලක්කම ලොකු වෙන්න වෙන්න step ගාණයි, limit එකයි අතර දුර වැඩි වෙන නිසා එහෙම එකක් තිබීමේ සම්භාවිතාවත් exponentially අඩු වෙනවා.

    ඉතින් මේක යන්න යන්න තව flat වෙන එකයි වෙන්නෙ පැහැදිලිවම. ඔය අතරෙ මොකක් හරි අමුතු මැජික් අංකයක් නෑ කියල සාධනය කරන්න බෑ. හැබැයි එහෙම එකක් තිබීමේ සම්භාවිතාව 0 ටම යනවා කියලා පැහැදිලිව ඔප්පු වෙනවා. ඉතින් මේ සරල code එක conjecture එක අ‍ැත්ත බව අපෝහනය කරන්න ඉතාම හොඳ ක්‍රමයක්. 👍

    Screenshot_20220718-133455.png
    Screenshot_20220718-133302.png
     

    Jangi-Hora

    Well-known member
  • Jan 13, 2022
    405
    606
    93
    මම කියන්නෙ බං ඉලක්කම් හද හද හිටියාට වැඩක් නෑ. අපි බලන්න ඕන 3x+1 එක උත්තරය 1 වෙන්න යන පියවර ගාණ. ඉලක්කම කීයට ගිහින් අ‍ාවත් අපිට වැඩක් නෑනෙ. පියවර කීයකින් වැඩේ වෙනවාද කියලා බලනවා.

    මම සිංහලෙන්ම code එකේ results දැම්මා. දැන් ඕන එකෙක්ට තේරෙනවා අ‍ැතිනෙ. Limit එකක් ගත්තාම (1000 කියලා හිතමු.) එකේ ඉඳලා එ‍් දක්වා තියාන සේරම ඉලක්කම් 1 වෙන්න යන උපරිම step ගාණ තමයි ඔය එන්නෙ.

    එතනින් හිතන්න තියෙන්නෙ මේකයි. අපි ලොකු ලොකු ගණන් දානවා, හැබැයි ඔය හැම එකක්ම 1 වෙන්න යන්නෙ හරිම චූටි පියවර ගාණක්. උපරිම ගාණ ඔහොම එනවා කියන්නෙ එ‍් සීමාවෙ වෙන කිසිම ඉලක්කමක් ඊට එහා පියවර ගාණක් යන් නෑ.

    ඔය conjecture එක බොරු වෙන ඉලක්කමක් තිබුණා නම් එක්කො steps ගාණ අනන්තයක් වෙන්න ඕන. නැතත් අඩුම වශයෙන් limit එකට වඩා වැඩි වෙන්න ඕන. එ‍්ත් එහෙම වෙන එකක් නෑ විතරක් නෙවෙයි, ඉලක්කම ලොකු වෙන්න වෙන්න step ගාණයි, limit එකයි අතර දුර වැඩි වෙන නිසා එහෙම එකක් තිබීමේ සම්භාවිතාවත් exponentially අඩු වෙනවා.

    ඉතින් මේක යන්න යන්න තව flat වෙන එකයි වෙන්නෙ පැහැදිලිවම. ඔය අතරෙ මොකක් හරි අමුතු මැජික් අංකයක් නෑ කියල සාධනය කරන්න බෑ. හැබැයි එහෙම එකක් තිබීමේ සම්භාවිතාව 0 ටම යනවා කියලා පැහැදිලිව ඔප්පු වෙනවා. ඉතින් මේ සරල code එක conjecture එක අ‍ැත්ත බව අපෝහනය කරන්න ඉතාම හොඳ ක්‍රමයක්. 👍

    View attachment 178558View attachment 178559
    මූ හිතන විදිහ හරි නම් එ‍්ක proof එකකුත් වගේ. සම්භාවිතාව 0 ට යනව නම් හැම ඉලක්කමම 1 ට යනව කියල ගන්න පුලුවන් නේද? එ‍්ක proof නෙවෙයිද? 🤔
     
    • Like
    Reactions: Mr.dark

    Ridunapm

    Well-known member
  • Jun 22, 2022
    2,005
    2,673
    113
    මූ හිතන විදිහ හරි නම් එ‍්ක proof එකකුත් වගේ. සම්භාවිතාව 0 ට යනව නම් හැම ඉලක්කමම 1 ට යනව කියල ගන්න පුලුවන් නේද? එ‍්ක proof නෙවෙයිද? 🤔
    Proof නෙවෙයි, axiom එකක් බං. සම්භාවිතාව 0 ම වෙන් නෑ, හැබැයි 0 ට වේගෙන් අ‍ාසන්ක වෙනවා. ඕක බොරු කරන ඉලක්කමක් නැහැම කියන්න බෑ, හැබැයි තියෙන්න තියෙන ඉඩකඩ හිතා ගන්න අමාරු තරම් පුංචි වෙනවා.

    මොනවා වුණත් එ‍්ක proof එකක් නෙවෙයි. 😢
     
    • Like
    Reactions: Mr.dark and HAneo

    HAneo

    Well-known member
  • Jan 30, 2007
    12,970
    29,167
    113
    Homagama
    මම කියන්නෙ බං ඉලක්කම් හද හද හිටියාට වැඩක් නෑ. අපි බලන්න ඕන 3x+1 එක උත්තරය 1 වෙන්න යන පියවර ගාණ. ඉලක්කම කීයට ගිහින් අ‍ාවත් අපිට වැඩක් නෑනෙ. පියවර කීයකින් වැඩේ වෙනවාද කියලා බලනවා.

    මම සිංහලෙන්ම code එකේ results දැම්මා. දැන් ඕන එකෙක්ට තේරෙනවා අ‍ැතිනෙ. Limit එකක් ගත්තාම (1000 කියලා හිතමු.) එකේ ඉඳලා එ‍් දක්වා තියාන සේරම ඉලක්කම් 1 වෙන්න යන උපරිම step ගාණ තමයි ඔය එන්නෙ.

    එතනින් හිතන්න තියෙන්නෙ මේකයි. අපි ලොකු ලොකු ගණන් දානවා, හැබැයි ඔය හැම එකක්ම 1 වෙන්න යන්නෙ හරිම චූටි පියවර ගාණක්. උපරිම ගාණ ඔහොම එනවා කියන්නෙ එ‍් සීමාවෙ වෙන කිසිම ඉලක්කමක් ඊට එහා පියවර ගාණක් යන් නෑ.

    ඔය conjecture එක බොරු වෙන ඉලක්කමක් තිබුණා නම් එක්කො steps ගාණ අනන්තයක් වෙන්න ඕන. නැතත් අඩුම වශයෙන් limit එකට වඩා වැඩි වෙන්න ඕන. එ‍්ත් එහෙම වෙන එකක් නෑ විතරක් නෙවෙයි, ඉලක්කම ලොකු වෙන්න වෙන්න step ගාණයි, limit එකයි අතර දුර වැඩි වෙන නිසා එහෙම එකක් තිබීමේ සම්භාවිතාවත් exponentially අඩු වෙනවා.

    ඉතින් මේක යන්න යන්න තව flat වෙන එකයි වෙන්නෙ පැහැදිලිවම. ඔය අතරෙ මොකක් හරි අමුතු මැජික් අංකයක් නෑ කියල සාධනය කරන්න බෑ. හැබැයි එහෙම එකක් තිබීමේ සම්භාවිතාව 0 ටම යනවා කියලා පැහැදිලිව ඔප්පු වෙනවා. ඉතින් මේ සරල code එක conjecture එක අ‍ැත්ත බව අපෝහනය කරන්න ඉතාම හොඳ ක්‍රමයක්. 👍

    View attachment 178558View attachment 178559
    මැත ටර්ම්ස් නැති උනාට් මම අදහස් කල එකම තමා ඕක. උබ කියන එක හරි. ඔය 3+1 එක කඩෙන කියන්නේ නෙවර් එන්දින්ග් ලුප් එකක යනවා කියන එකනේ. දැන් හිතපන් අපි දන්නා මානයේ විශාල සන්ක්‍යා විතරයි නේ අරගෙන මේක බැලුවේ. හිතපන් ඕක 1 ඉදලා අනන්තය දක්වා සන්ක්‍යා වලට හරි කියල මෑත බාවිතයෙන් ඔප්පු කරන්නේ කොමද?
    (පොඩ්ඩක් සරල වෙයන් මම බයෝ කලේ මෑත ටර්ම්ස් සැහෙන්න අව්ල් සහ මතක නැ )
     
    • Like
    Reactions: Mr.dark

    Ridunapm

    Well-known member
  • Jun 22, 2022
    2,005
    2,673
    113
    මැත ටර්ම්ස් නැති උනාට් මම අදහස් කල එකම තමා ඕක. උබ කියන එක හරි. ඔය 3+1 එක කඩෙන කියන්නේ නෙවර් එන්දින්ග් ලුප් එකක යනවා කියන එකනේ. දැන් හිතපන් අපි දන්නා මානයේ විශාල සන්ක්‍යා විතරයි නේ අරගෙන මේක බැලුවේ. හිතපන් ඕක 1 ඉදලා අනන්තය දක්වා සන්ක්‍යා වලට හරි කියල මෑත බාවිතයෙන් ඔප්පු කරන්නේ කොමද?
    (පොඩ්ඩක් සරල වෙයන් මම බයෝ කලේ මෑත ටර්ම්ස් සැහෙන්න අව්ල් සහ මතක නැ )
    එ‍්ක තමයි බං කිව්වෙ මම. ඉලක්කමෙන් ඉලක්කම දාලා මේක බලන්න බැහැ. මොකද code එකක් ලිව්වත් ඉලක්කම් store කර කර ඉන්න සෑහෙන resources යනවා. එ‍් වෙනුවට කරන්නෙ මොකක් හරි සීමාවක් අ‍ැතුළෙ තියෙන ඉලක්කම් 1 ට යන තරම හොයනවා. උඹ කියපු විදිහට 1 ඉඳලා අනන්තයට සේරම ඉලක්කම්වලට මේක එකපාර කරන්න කොහෙත්ම බැහැ.

    හැබැයි අපිට පුළුවන් 1 ඉඳලා මිලියනය, මිලියනයෙ ඉඳලා ට්‍රිලියනය වගේ දිහා බලන්න. මම දාපු code එකෙන් මේවා ලේසියෙන්ම check කරන්න පුළුවන්. මිලියනය වෙනකල් තියෙන හැම ඉලක්කමක්ම පියවර 525 ක් තුළ 1 බවට පත් වෙනවා. ට්‍රිලියනයක් බැලුවත් මම හිතන්නෙ ඔය ගාණ 10,000 ට අඩුවෙන් තියෙයි.

    ඉතින් අපිට හිතන්න පුළුවන් මිලියන ගුණයක් වැඩි වෙවී ගියාට අ‍ැත්තටම තියෙන සෑම ඉලක්කමක්ම 1 වෙන්න යන්නෙ බොහොම අඩු පියවර ගාණක් කියලා. 1 ඉඳලා අනන්තයට යනවා වෙනුවට එහෙම කඩලා බලනවා. ඔන්න එ‍් ඉලක්කම වගේම මේ steps ගාණත් ලොකු වෙනවා නම් අපිට හිතන්න පුළුවන් සමහර විට මේක බොරුවක් වෙන ඉලක්කම් හම්බ වෙයි කියලා.

    හැබැයි එහෙම වෙන්න තියෙන ඉඩ යන්න යන්න අඩු වෙනවා. ඔය වීඩියෝ එකේ තිබුණෙ 2^68 වෙනකල් හොයලා කියලනෙ. එච්චර දැවැන්ත ඉලක්කමක් වුණත් මම හිතන්නෙ සේරම ටික පියවර මිලියනයකට අඩු ගාණකින් 1 බවට පත් වෙනවා.

    මේකත් හරියට අර කිංස්ලි පීරිස් කියන සිංදුව වගේ. දුර යන්න යන්න ඔබේ සුවඳ තවත් ලං වුණා කියන්නෙ. අන්න එ‍් වගේ ලොකු වෙන්න වෙන්න එහෙම ඉලක්කමක් තියෙන ඉඩත් චූටි වෙනවා.

    ඉතින් කෙළින්ම සාධනය කරන්න බැරි වුණත් සම්භාවිතාව 0 ටම යනවා කියලා හිතන්න පුළුවන්. 👍
     

    HAneo

    Well-known member
  • Jan 30, 2007
    12,970
    29,167
    113
    Homagama
    එ‍්ක තමයි බං කිව්වෙ මම. ඉලක්කමෙන් ඉලක්කම දාලා මේක බලන්න බැහැ. මොකද code එකක් ලිව්වත් ඉලක්කම් store කර කර ඉන්න සෑහෙන resources යනවා. එ‍් වෙනුවට කරන්නෙ මොකක් හරි සීමාවක් අ‍ැතුළෙ තියෙන ඉලක්කම් 1 ට යන තරම හොයනවා. උඹ කියපු විදිහට 1 ඉඳලා අනන්තයට සේරම ඉලක්කම්වලට මේක එකපාර කරන්න කොහෙත්ම බැහැ.

    හැබැයි අපිට පුළුවන් 1 ඉඳලා මිලියනය, මිලියනයෙ ඉඳලා ට්‍රිලියනය වගේ දිහා බලන්න. මම දාපු code එකෙන් මේවා ලේසියෙන්ම check කරන්න පුළුවන්. මිලියනය වෙනකල් තියෙන හැම ඉලක්කමක්ම පියවර 525 ක් තුළ 1 බවට පත් වෙනවා. ට්‍රිලියනයක් බැලුවත් මම හිතන්නෙ ඔය ගාණ 10,000 ට අඩුවෙන් තියෙයි.

    ඉතින් අපිට හිතන්න පුළුවන් මිලියන ගුණයක් වැඩි වෙවී ගියාට අ‍ැත්තටම තියෙන සෑම ඉලක්කමක්ම 1 වෙන්න යන්නෙ බොහොම අඩු පියවර ගාණක් කියලා. 1 ඉඳලා අනන්තයට යනවා වෙනුවට එහෙම කඩලා බලනවා. ඔන්න එ‍් ඉලක්කම වගේම මේ steps ගාණත් ලොකු වෙනවා නම් අපිට හිතන්න පුළුවන් සමහර විට මේක බොරුවක් වෙන ඉලක්කම් හම්බ වෙයි කියලා.

    හැබැයි එහෙම වෙන්න තියෙන ඉඩ යන්න යන්න අඩු වෙනවා. ඔය වීඩියෝ එකේ තිබුණෙ 2^68 වෙනකල් හොයලා කියලනෙ. එච්චර දැවැන්ත ඉලක්කමක් වුණත් මම හිතන්නෙ සේරම ටික පියවර මිලියනයකට අඩු ගාණකින් 1 බවට පත් වෙනවා.

    මේකත් හරියට අර කිංස්ලි පීරිස් කියන සිංදුව වගේ. දුර යන්න යන්න ඔබේ සුවඳ තවත් ලං වුණා කියන්නෙ. අන්න එ‍් වගේ ලොකු වෙන්න වෙන්න එහෙම ඉලක්කමක් තියෙන ඉඩත් චූටි වෙනවා.

    ඉතින් කෙළින්ම සාධනය කරන්න බැරි වුණත් සම්භාවිතාව 0 ටම යනවා කියලා හිතන්න පුළුවන්. 👍
    හරි මචන් ඔය කතාව තේරෙනවා. එක හරි.
    මෙතන තියෙන්නේ උබ ගණන් දන්නා නිසා මම මගේ දැනුමට අහපු දෙයක්
    අර 1 ඉදන් අනන්තයක් කියල එකක් ගණිතයේ තියනවනේ. එකටම ඕක දාල බලන්න ක්‍රමයක් ගණිතය ඇතුලේ තියේද බලන්න දැම්මේ.

    :yes:
     

    imhotep

    Well-known member
  • Mar 29, 2017
    14,824
    8
    35,334
    113
    එ‍්ක තමයි බං කිව්වෙ මම. ඉලක්කමෙන් ඉලක්කම දාලා මේක බලන්න බැහැ. මොකද code එකක් ලිව්වත් ඉලක්කම් store කර කර ඉන්න සෑහෙන resources යනවා. එ‍් වෙනුවට කරන්නෙ මොකක් හරි සීමාවක් අ‍ැතුළෙ තියෙන ඉලක්කම් 1 ට යන තරම හොයනවා. උඹ කියපු විදිහට 1 ඉඳලා අනන්තයට සේරම ඉලක්කම්වලට මේක එකපාර කරන්න කොහෙත්ම බැහැ.

    හැබැයි අපිට පුළුවන් 1 ඉඳලා මිලියනය, මිලියනයෙ ඉඳලා ට්‍රිලියනය වගේ දිහා බලන්න. මම දාපු code එකෙන් මේවා ලේසියෙන්ම check කරන්න පුළුවන්. මිලියනය වෙනකල් තියෙන හැම ඉලක්කමක්ම පියවර 525 ක් තුළ 1 බවට පත් වෙනවා. ට්‍රිලියනයක් බැලුවත් මම හිතන්නෙ ඔය ගාණ 10,000 ට අඩුවෙන් තියෙයි.

    ඉතින් අපිට හිතන්න පුළුවන් මිලියන ගුණයක් වැඩි වෙවී ගියාට අ‍ැත්තටම තියෙන සෑම ඉලක්කමක්ම 1 වෙන්න යන්නෙ බොහොම අඩු පියවර ගාණක් කියලා. 1 ඉඳලා අනන්තයට යනවා වෙනුවට එහෙම කඩලා බලනවා. ඔන්න එ‍් ඉලක්කම වගේම මේ steps ගාණත් ලොකු වෙනවා නම් අපිට හිතන්න පුළුවන් සමහර විට මේක බොරුවක් වෙන ඉලක්කම් හම්බ වෙයි කියලා.

    හැබැයි එහෙම වෙන්න තියෙන ඉඩ යන්න යන්න අඩු වෙනවා. ඔය වීඩියෝ එකේ තිබුණෙ 2^68 වෙනකල් හොයලා කියලනෙ. එච්චර දැවැන්ත ඉලක්කමක් වුණත් මම හිතන්නෙ සේරම ටික පියවර මිලියනයකට අඩු ගාණකින් 1 බවට පත් වෙනවා.

    මේකත් හරියට අර කිංස්ලි පීරිස් කියන සිංදුව වගේ. දුර යන්න යන්න ඔබේ සුවඳ තවත් ලං වුණා කියන්නෙ. අන්න එ‍් වගේ ලොකු වෙන්න වෙන්න එහෙම ඉලක්කමක් තියෙන ඉඩත් චූටි වෙනවා.

    ඉතින් කෙළින්ම සාධනය කරන්න බැරි වුණත් සම්භාවිතාව 0 ටම යනවා කියලා හිතන්න පුළුවන්. 👍
    හැබැයි එහෙම වෙන්න තියෙන ඉඩ යන්න යන්න අඩු වෙනවා. ඔය වීඩියෝ එකේ තිබුණෙ 2^68 වෙනකල් හොයලා කියලනෙ. එච්චර දැවැන්ත ඉලක්කමක් වුණත් මම හිතන්නෙ සේරම ටික පියවර මිලියනයකට අඩු ගාණකින් 1 බවට පත් වෙනවා.

    Obvious... 2^68 itself will converge to 1 in 67 straight steps. But 2^68+1 (odd number) will take 548 steps. 👍
     

    Ridunapm

    Well-known member
  • Jun 22, 2022
    2,005
    2,673
    113
    හැබැයි එහෙම වෙන්න තියෙන ඉඩ යන්න යන්න අඩු වෙනවා. ඔය වීඩියෝ එකේ තිබුණෙ 2^68 වෙනකල් හොයලා කියලනෙ. එච්චර දැවැන්ත ඉලක්කමක් වුණත් මම හිතන්නෙ සේරම ටික පියවර මිලියනයකට අඩු ගාණකින් 1 බවට පත් වෙනවා.

    Obvious... 2^68 itself will converge to 1 in 67 straight steps. But 2^68+1 (odd number) will take 548 steps. 👍
    Dafuq dude! 😂 😂 I'm not talking about exactly 2^68. This is about everything upto that number, with maximum steps in that range being around a million. 👍

    හරි මචන් ඔය කතාව තේරෙනවා. එක හරි.
    මෙතන තියෙන්නේ උබ ගණන් දන්නා නිසා මම මගේ දැනුමට අහපු දෙයක්
    අර 1 ඉදන් අනන්තයක් කියල එකක් ගණිතයේ තියනවනේ. එකටම ඕක දාල බලන්න ක්‍රමයක් ගණිතය ඇතුලේ තියේද බලන්න දැම්මේ.

    :yes:
    එහෙම ක්‍රමයක් නෑ බං. Iterative නෙ යන්නෙ. එකම දේ සිද්ධ වෙනවා නෙවෙයි, ඔත්තෙද ඉරට්ටෙද කියන condition එක check කර කර, එ‍් අනුව 2 න් බෙදනවාද, 3x+1 දානවද කියල බල බල යන්නෙ. උඹෙ හිතේ තියෙන්නෙ ගුණෝත්තර ශ්‍රේණියක් වගේ එකපාර ගන්න ක්‍රමයක් නම් එහෙම දෙයක් කීයටවත් බෑ. එහෙම ලේසි නම් මෙච්චර ප්‍රශ්නයක් වෙන්නෙත් නෑනෙ බං. 😇
    ------ Post added on Jul 18, 2022 at 4:02 PM
     
    • Haha
    • Like
    Reactions: HAneo and Mr.dark

    HAneo

    Well-known member
  • Jan 30, 2007
    12,970
    29,167
    113
    Homagama
    එහෙම ක්‍රමයක් නෑ බං. Iterative නෙ යන්නෙ. එකම දේ සිද්ධ වෙනවා නෙවෙයි, ඔත්තෙද ඉරට්ටෙද කියන condition එක check කර කර, එ‍් අනුව 2 න් බෙදනවාද, 3x+1 දානවද කියල බල බල යන්නෙ. උඹෙ හිතේ තියෙන්නෙ ගුණෝත්තර ශ්‍රේණියක් වගේ එකපාර ගන්න ක්‍රමයක් නම් එහෙම දෙයක් කීයටවත් බෑ. එහෙම ලේසි නම් මෙච්චර ප්‍රශ්නයක් වෙන්නෙත් නෑනෙ බං. 😇
    ------ Post added on Jul 18, 2022 at 4:02 PM
    ඔව් නේද බන්.
     

    imhotep

    Well-known member
  • Mar 29, 2017
    14,824
    8
    35,334
    113
    Dafuq dude! 😂 😂 I'm not talking about exactly 2^68. This is about everything upto that number, with maximum steps in that range being around a million. 👍


    එහෙම ක්‍රමයක් නෑ බං. Iterative නෙ යන්නෙ. එකම දේ සිද්ධ වෙනවා නෙවෙයි, ඔත්තෙද ඉරට්ටෙද කියන condition එක check කර කර, එ‍් අනුව 2 න් බෙදනවාද, 3x+1 දානවද කියල බල බල යන්නෙ. උඹෙ හිතේ තියෙන්නෙ ගුණෝත්තර ශ්‍රේණියක් වගේ එකපාර ගන්න ක්‍රමයක් නම් එහෙම දෙයක් කීයටවත් බෑ. එහෙම ලේසි නම් මෙච්චර ප්‍රශ්නයක් වෙන්නෙත් නෑනෙ බං. 😇
    ------ Post added on Jul 18, 2022 at 4:02 PM
    I was just commenting on your Million steps. FYI AFAIK upto a limit of a 500 digit number, the maximum was 62,118 steps. 👍
     
    • Like
    Reactions: NRTG and TCB Rox

    Ridunapm

    Well-known member
  • Jun 22, 2022
    2,005
    2,673
    113
    I was just commenting on your Million steps. FYI AFAIK upto a limit of a 500 digit number, the maximum was 62,118 steps. 👍
    It has never been done to a 500 digit number, and that 62,118 seems way too low. If it is, there's even more proof how fast the probability is tending to zero.

    I think you may have misconstrued my explanation. Clearly I was stating all the time about the maximum steps within a range of one to a limit (this case 1 million, 1 trillion). Any particular number and it's number of steps to reach 1 are wholly irrelevant. 👍
     

    olu bakka

    Well-known member
  • Aug 18, 2011
    22,052
    22,456
    113
    මෝඩ කතානෙ ඉතින්. යකෝ 10% වෙන්නෙ කොහොමද? 10 ගුණාකාරවලින් පැතිරුණ හැම එකකම අනිවාර්යයෙන්ම 1 වැඩිපුර ‍තියෙනවා. ඕක අ‍ැති තරම් prove කරපු සරලම සිද්ධාන්තයක්.
    කියපන් බලන්න වෙන හැටි. 1-99 ගත්තොත් 1st digit 1 වෙන ඉලක්කම් 11ක් තියෙනව. 2 වෙන ඉලක්කමුත් 11යි. 3 වෙන ඉලක්කමුත් 11යි. එතකොට එක් එක් අගයෙන් පටන් ගන්න සංඛ්‍යාවක් වෙන්න හැම එකටම 11.11% ක probability එකක් තියෙන්නෙ. උබ කියන විදිහට 30% එන එක සරල වෙන හැටි පැහැදිලි කරපන් බලන්න.

    එ‍්ක නෙවෙයි, උඹලට මේ conjecture එක ලේසියෙන්ම test කරන්න line 19 ක අතිශය සරල python code එකක් හැදුවා. කට්ටියට තේරෙන්න prompt, result ටික සිංහලෙන්මත් දැම්මා. 🤣🤣 අනිත් උන් පුක ඉරාගෙන ඉලක්කම් ගණන් කරන්න කෝඩ් දාලා තියෙනවා. හැබැයි අ‍ැත්තටම එහෙම අ‍ැඟේ පතේ හයියට ගණන් හදන වැල් වටාරම් අවශ්‍ය නැහැ.

    මේකෙ වෙන්නෙ Limit එකක් input අරගෙන, එ‍් දක්වා හැම ඉලක්කමක්ම 4,2,1 loop එකට යනකල් හම්බෙන වැඩිම iterations ගාණ out කරනවා. අපිට ඉලක්කම වැඩක් නැහැ, වැදගත් වෙන්නෙ 1 ට එන්න යන උපරිම steps ගාණ. මේක Divergent නම් ඉලක්කම දාන Limit එකට වඩා යන්න ඕනනෙ. බොහොම සරල සංකල්පයක් තියෙන්නෙ. Resources භාවිතය හරිම අඩුයි. සම්පූර්ණ සංකල්පයම ලේසියෙන් test කරන්නත් පුළුවන්.

    මේක ඕනම තැනක run කරලා, 119 ට එහා limit එකක් දීලා බලහන් දාන ගාණට වඩා වැඩි iterations ගාණක් ගන්න පුළුවන්ද කියලා. කීයටවත් බැහැ. අනික limit වැඩි වෙන්න වෙන්න linear වෙනවා. 1000 දැම්මාම 179, 10,000 දැම්මාම 262, 100,000 දැම්මාම 351, මිලියනයක් දැම්මාම 525. (ඔය කියන්නෙ එ‍් අගය දක්වා ඉලක්කම් ඔක්කොම ගත්තාම 1 වෙන්න අවශ්‍ය උපරිම steps ගාණ ගැන) බලහන් limit එක 10 ගුණයක් ගාණෙ order of magnitude එකකින් වැඩි වෙද්දි පවා iterations වැඩි වෙන්නෙ 50, 100, 150 කින් විතර වගේ. මේ pattern එක දිගටම දකින්න පුළුවන්. ඕක කැඩෙන මැජික් අංකයක් තිබුණොත් දාන limit එකට එහා iterations ගාණක් එන්න එපැයි. එහෙම වෙන කිසිම pattern එකක් නෑ.

    මේක conjecture එකට proof එකක් නෙවෙයි. හැබැයි අර මනුස්සයා අන්තිමට කියන එන්න එන්නම linear වෙන කතාවට හොඳම නිදසුනක්. එක දිගටම ලොකු ගණන් දාලත් iterations ගාණ චූටියි නම් අපිට කොච්චර ලොකු ගාණක් දැම්මත් 1 ට එන්න යන steps ගාණ ඊට වඩා සෑහෙන අඩුයි කියලා ගන්න පුළුවන්. ඉතින් සාධනයක් නොවුණත් මේක ඉතාම හොඳ අපෝහනයක්.

    මේක phone එකකින් වුණත් මිලියන ගාණක් brute force check කරන්න පුළුවන්. යටින් උදාහරණයක් තියෙනවා. 👍

    def testing(Num):
    Iteration=1
    while Num > 1:
    if Num%2 == 1:
    Num = 3*Num+1
    Iteration+=1
    else:
    Num = Num/2
    Iteration+=1
    return(Iteration)
    Highest=0
    X = 1
    while True:
    Limit = int(input("කීය වෙනකල් check කරමුද? :"))
    while X < Limit:
    if testing(X) > Highest:
    Highest = testing(X)
    X+=1
    print(Limit, "දක්වා තියෙන වැඩිම step ගාණ ", Highest,"යි")


    මෙන්න code එක syntax එක්ක සහ run කරාම එන iterations ගාණ. (එළකිරි හුත්තෙ code indentation හරියට එන් නැහැ.) ප්‍රස්තාරයක් අ‍ැන්දා නම් ඕන එකෙක්ට සිද්ධිය තේරෙයි. 👍
    ඔය output එකම තමා මගෙ කෝඩ් එකෙත් තව විස්තර එක්ක එන්නෙ. (indentation එනව python select කරල දාපන්)

    ඕකෙන් ඉතින් ඔප්පු වෙන්නෑ. ඕකෙන් නිකන් මේ වගේ වෙන්න ඇති කියල හිතන්න විතරයි පුලුවන්. අනන්තෙට යන ශ්‍රේණියක් අපසාරී අභිසාරි කියල උනත් ඔප්පු කරන්න පුලුවන් ඒක thoracically ඔප්පු කරල විතරයි. brute force කරල පෙන්නන්න බෑ.
    ------ Post added on Jul 19, 2022 at 4:58 AM

    Seed එකත් එක්ක steps ගාන plot කරා. ඒකෙත් අමුතු ලස්සනක් එනව.

    1 - 10000
    Figure_2.png


    1-1000000
    Figure_1.png


    මේකෙන් ඉන්ද්‍රය කියපු කතාව graphically පේනව. seed එක වැඩිවෙන්න වැඩිවෙන්න steps ගාන සහ seed එක අතර අනුපාතය අඩු වෙනව. හැබැයි ඉතින් මේකෙන් කියන්න බෑ හිටපු ගමන් කොහේ හරි ලොකු ස්ටෙප්ස් ගානක් යන එකක් තියෙන්න බෑ කියල.
    Figure_3.png


    ------ Post added on Jul 19, 2022 at 5:55 AM
     
    Last edited:

    Ridunapm

    Well-known member
  • Jun 22, 2022
    2,005
    2,673
    113
    කියපන් බලන්න වෙන හැටි. 1-99 ගත්තොත් 1st digit 1 වෙන ඉලක්කම් 11ක් තියෙනව. 2 වෙන ඉලක්කමුත් 11යි. 3 වෙන ඉලක්කමුත් 11යි. එතකොට එක් එක් අගයෙන් පටන් ගන්න සංඛ්‍යාවක් වෙන්න හැම එකටම 11.11% ක probability එකක් තියෙන්නෙ. උබ කියන විදිහට 30% එන එක සරල වෙන හැටි පැහැදිලි කරපන් බලන්න.


    ඔය output එකම තමා මගෙ කෝඩ් එකෙත් තව විස්තර එක්ක එන්නෙ. (indentation එනව python select කරල දාපන්)

    ඕකෙන් ඉතින් ඔප්පු වෙන්නෑ. ඕකෙන් නිකන් මේ වගේ වෙන්න ඇති කියල හිතන්න විතරයි පුලුවන්. අනන්තෙට යන ශ්‍රේණියක් අපසාරී අභිසාරි කියල උනත් ඔප්පු කරන්න පුලුවන් ඒක thoracically ඔප්පු කරල විතරයි. brute force කරල පෙන්නන්න බෑ.
    ------ Post added on Jul 19, 2022 at 4:58 AM

    Seed එකත් එක්ක steps ගාන plot කරා. ඒකෙත් අමුතු ලස්සනක් එනව.

    1 - 10000
    View attachment 178639

    1-1000000
    View attachment 178641

    මේකෙන් ඉන්ද්‍රය කියපු කතාව graphically පේනව. seed එක වැඩිවෙන්න වැඩිවෙන්න steps ගාන සහ seed එක අතර අනුපාතය අඩු වෙනව. හැබැයි ඉතින් මේකෙන් කියන්න බෑ හිටපු ගමන් කොහේ හරි ලොකු ස්ටෙප්ස් ගානක් යන එකක් තියෙන්න බෑ කියල.
    View attachment 178640


    ------ Post added on Jul 19, 2022 at 5:55 AM


    යකෝ කියන ලබ්බ තේරුම් ගනින්, ඔය කියන්නෙ 1-99 ට යන ඉලක්කම් ටික ගැන විතරක් නෙවෙයි, 1 යි 99 යි අතර span වෙන data set එකක් ගැන. මෙහෙම හිතහන්කො. 100 ට අඩු random සංඛ්‍යා 50 ක් ගනින්. ගන්න තැන වැදගත් නෑ. අරගෙන බලපන් අන්න එ‍් ඉලක්කම් ටිකේ 1, 2, 3 යෙදිලා තියෙන ප්‍රමාණය. ප්‍රතිශතය එන්නෙ 30%, 20%, 15% වගේ. අඩුම දශමස්ථාන දෙකකවත් span වෙන random සංඛ්‍යා කැමති range එකක අරගෙන බලපන්. 👍

    මෙන්න coding අ‍ාස නිසා check කරන්න එකක්.

    import random
    Mylist = random.sample(range(1, 99), 50) count1,count2,count3=0,0,0
    for k in range(50):
    if "1" in str(Mylist[k]):
    count1+=1
    if "2" in str(Mylist[k]):
    count2+=1
    if "3" in str(Mylist[k]):
    count3+=1
    print("percentage of 1 : ",count1*2,"%")
    print("percentage of 2 : ",count2*2,"%")
    print("percentage of 3 : ",count3*2,"%")

    Python වලින් random generate කරද්දි ඕක ගාණට හරි නොයන්න පුළුවන්. (අ‍ැත්ත random generate කරන එක මෙච්චර ප්‍රශ්නයක් වෙලා තියෙන්නෙත් ඔය නිසා.) හැබැයි අ‍ැත්ත random sample එකක් ගත්තොත් ඕක හරියටම හරි.

    උඹෙ Code එකේ algorithm එකේ තියෙන්නෙත් මම කියපු කතාවම තමයි. අ‍ැඟේ පතේ හයිය පෙන්නන algorithm පට්ට තමයි. මොකද දැන් තියෙන machine වල speed එකත් එක්ක පොඩි calculation ඕන ගාණක් කරන්න ලේසියිනෙ. හැබැයි මේ අපි test කරන level වලට යද්දි efficiency කියන එක අතිශයින්ම වැදගත්. අනවශ්‍ය දෙයක් කර කර ඉන්න මහන්සි වෙනවා වෙනුවට අත්‍යාවශ්‍යම, උවමනාම කොටස විතරයි බලන්න තියෙන්නෙ. මොකද වැඩි වැඩ කරලා 2^70 විතර range එකක් test කරන එක තාමත් ලේසි වැඩක් නෙවෙයි. තව ඉස්සරහට යන්න යන්න තව අමාරු වෙනවා.

    අන්න එ‍්කයි වැඩි විස්තර තියෙන එක පොඩි ඉලක්කම්වල පට්ට කියලා හිතුණාට එහාට එහාට යද්දි සෑහෙන අමාරු වෙන්නෙ. දෙකේ වෙනස තේරුම් ගන්න ලේසිම දේ තමයි 1: 1 million යි, 1 million :1 trillion යි වගේ සමාන magnitude දෙකක් check කරන්න යන වෙලාව අතර අනුපාතය බලන එක.

    මම දාලා තියෙන code එක අතිශය සරල වුණාට ඔය pattern එක හරියටම පෙන්නනවා. Plot කරලා extrapolate කරත් තේරුම් ගන්න පුළුවන් ඉලක්කම් exponential වෙද්දිත් steps ගාණ බොහෝ දුරට linear බව.

    මම ගත්තෙ maximum steps ගාණ නිසා test කරන range එක අස්සෙ magic එකෙන් ලොකු ඉලක්කමක් තියෙන්න කිසිම ඉඩක් නැහැ. තිබුණා නම් maximum වෙන්නෙ එ‍්කනෙ. එ‍් විතරක් නෙවෙයි, අපිට එ‍්කෙන් test කරගන්න අමාරු, ඊළඟට තියෙන ranges ගැනත් බොහොම හොඳ prediction එකක් ගන්න පුළුවන්. ඉලක්කම් exponential වෙද්දි steps වල Maximum එක linear බව දිගට දිගටම පේනවා කියන්නෙ ඊළඟ ranges වල උඹ කියන magic ඉලක්කමක් තිබීමේ probability එකත් exponential‍ly ම 0 ට ලං වෙනවා. (එකකදි p0.01 නම් ඊළඟට p0.001, p0.0001 වගේ)

    මම අර එකෙක්ට කිව්වෙත් එ‍්ක තමයි, එහෙමයි කියලා probability 0 ක් වෙන් නෑ තමයි. ඉතින් මේක සාධනයකුත් නෙවෙයි. හැබැයි ඉතාම පැහැදිලි අපෝහනයක්. මම code එක අරගෙන තියෙන්නෙ ඔන්න ඔය අරමුණ අ‍ැතිව. පෙන්නන්න පුළුවන් කොටස ලස්සනට පෙන්නනවාට වඩා මේ වගේ තැනක වැදගත් වෙන්නෙ පෙන්නන්න බැරි ටික ගැන හොඳම අදහසක් ගන්න එක.👍
     
    • Like
    Reactions: NRTG

    olu bakka

    Well-known member
  • Aug 18, 2011
    22,052
    22,456
    113
    යකෝ කියන ලබ්බ තේරුම් ගනින්, ඔය කියන්නෙ 1-99 ට යන ඉලක්කම් ටික ගැන විතරක් නෙවෙයි, 1 යි 99 යි අතර span වෙන data set එකක් ගැන. මෙහෙම හිතහන්කො. 100 ට අඩු random සංඛ්‍යා 50 ක් ගනින්. ගන්න තැන වැදගත් නෑ. අරගෙන බලපන් අන්න එ‍් ඉලක්කම් ටිකේ 1, 2, 3 යෙදිලා තියෙන ප්‍රමාණය. ප්‍රතිශතය එන්නෙ 30%, 20%, 15% වගේ. අඩුම දශමස්ථාන දෙකකවත් span වෙන random සංඛ්‍යා කැමති range එකක අරගෙන බලපන්. 👍

    මෙන්න coding අ‍ාස නිසා check කරන්න එකක්.

    import random
    Mylist = random.sample(range(1, 99), 50) count1,count2,count3=0,0,0
    for k in range(50):
    if "1" in str(Mylist[k]):
    count1+=1
    if "2" in str(Mylist[k]):
    count2+=1
    if "3" in str(Mylist[k]):
    count3+=1
    print("percentage of 1 : ",count1*2,"%")
    print("percentage of 2 : ",count2*2,"%")
    print("percentage of 3 : ",count3*2,"%")
    මේ කෝඩ් එකේ තියෙන එක වැරදියි. Number එකේ first digit එක විතරයි සලකන්නෙ. number එකේ කොහේ හරි එක හෝ දෙක හෝ...etc තිබිල හරියන් නෑ.

    අනික මොකක්ද බන් ඔය percentage එක අරන් තියෙන විදිහ. එක දෙක තුන යෙදිල තිබ්බ වාර ගාන දෙකෙන් වැඩි කරා කියල කොහොමද percentage එක එන්නෙ. ඕක 1-9 ටම count කරල ඒ ආපු මුලු කවුන්ට් එකේ ප්‍රතිශතයක් විදිහට ගන්න ඕනෙ.
     
    Last edited:
    • Haha
    Reactions: Ridunapm