Без припущень, без зайвих прикрас — просто працює так, як написано, вже 50 років і буде працювати ще стільки ж :)
Кожен день — legacy наше все :) Ви не повірите, але кожен день більше коду стає legacy, ніж пишеться нового :) І комусь це все підтримувати ще багато-багато років.
Cobol та Ada, все інше — новоділ і не переживе навіть найближчі 50 років, не кажучи вже про 100
Ну, префікс-то фіксований — так теж працює :)
це RXD або SCL, та TXD або SDA. Тобто це може бути або I2C або UART в залежності від того, як софт його насетапить.
Скоріш за все там буде просто UART, підключіть консоль і там скоріш за все буде зрозуміло. Швидкість методом тика, там не так багато варіантів :) Те що воно 10 секунд працює — скоріш за все там якійсь лоадер щось навіть напише розумне
o1-mini з другого разу знайшла :))
Питання:
0xF9, 0×05, 0xD4, 0×52, 0×00 is 0×2B 0xF9, 0×05, 0xD4, 0×52, 0×02 is 0×2D 0xF9, 0×05, 0xD4, 0xDE, 0×09 is 0xC0 0xF9, 0×05, 0xD4, 0×52, 0×03 is 0×2E 0xF9, 0×05, 0xD4, 0xDE, 0×00 is 0xB7 0xF9, 0×05, 0xD4, 0×52, 0×13 is 0×3E 0xF9, 0×05, 0xD4, 0×0C, 0×03 is 0xE8 what kind of checksum is it?
Код:
def additive_checksum(data, offset=7): """ Calculates an 8-bit additive checksum with a fixed offset. Parameters: data (list of int): The data bytes as integers (0-255). offset (int): The fixed offset to add to the sum. Returns: int: The checksum as an integer (0-255). """ total = sum(data) & 0xFF # Sum modulo 256 checksum = (total + offset) & 0xFF # Add offset and ensure 8-bit return checksum # Example usage: data_samples = [ ([0xF9, 0x05, 0xD4, 0x52, 0x00], 0x2B), ([0xF9, 0x05, 0xD4, 0x52, 0x02], 0x2D), ([0xF9, 0x05, 0xD4, 0xDE, 0x09], 0xC0), ([0xF9, 0x05, 0xD4, 0x52, 0x03], 0x2E), ([0xF9, 0x05, 0xD4, 0xDE, 0x00], 0xB7), ([0xF9, 0x05, 0xD4, 0x52, 0x13], 0x3E), ([0xF9, 0x05, 0xD4, 0x0C, 0x03], 0xE8), ] for data, expected in data_samples: computed = additive_checksum(data) print(f"Data: {data} | Expected Checksum: {hex(expected)} | Computed Checksum: {hex(computed)} | {'PASS' if computed == expected else 'FAIL'}")результат:
Data: [249, 5, 212, 82, 0] | Expected Checksum: 0x2b | Computed Checksum: 0x2b | PASS Data: [249, 5, 212, 82, 2] | Expected Checksum: 0x2d | Computed Checksum: 0x2d | PASS Data: [249, 5, 212, 222, 9] | Expected Checksum: 0xc0 | Computed Checksum: 0xc0 | PASS Data: [249, 5, 212, 82, 3] | Expected Checksum: 0x2e | Computed Checksum: 0x2e | PASS Data: [249, 5, 212, 222, 0] | Expected Checksum: 0xb7 | Computed Checksum: 0xb7 | PASS Data: [249, 5, 212, 82, 19] | Expected Checksum: 0x3e | Computed Checksum: 0x3e | PASS Data: [249, 5, 212, 12, 3] | Expected Checksum: 0xe8 | Computed Checksum: 0xe8 | PASS
Ну там не зовсім так, інакше ці самі ланцюги вибудувати б не вдалося :) Але зв’язність між блоками не така хороша, як всередині блоку, це так. І непродуктивні витрати кубітів досить великі.
Але в gate-based системах це схоже, адже CZ/CNOT можуть виконуватися не між будь-якими двома кубітами, і доводиться дублювати кубіти, щоб скомпенсувати особливості фізичної топології. Плюс додаються кубіти та оператори для коригування помилок.
Будь-яка несиметрична криптографія базується на тому, що для якоїсь дії вважається, що виконати її вперед незрівнянно простіше, ніж назад. Але це залежить саме від того, чи знаємо ми, як це можна зробити. У багатьох алгоритмів криптографії той же NIST відкликав рекомендований статус, коли знаходилися невідомі раніше алгоритми, які дозволяють швидко або значно швидше виконати зворотну дію.
Тобто питання не у відомих квантових комп’ютерах, які поки що навіть RSA не можуть зламати, а в теоретично відомих алгоритмах, які при подальшому розвитку технологій можуть стати практично застосовними.
Тобто так, зараз існує декілька криптоалгоритмів, для яких наразі не існує класичного або квантового алгоритму, що може їх зламати, незалежно від того, як швидко чи повільно буде розвиватися технологія.
Якщо ви використовували OpenAI API і вас усе влаштовувало, то продовжуйте використовувати API, адже поки що жодна локальна модель до GPT-4 не дійшла. І головний бонус «занадто великих моделей, навчених на всьому» — у zero-shot, тобто вам не треба їх навчати, достатньо просто написати промпт та завантажити специфічні для бізнесу документи у vector store.
Тобто learning curve дуже малий, і початкові затрати — 0. Якщо вам дорого платити за токени за існуючими цінами, то, скоріше за все, ви продаєте долари за 50 центів, і моделі тут ні до чого.
Ви ніколи не зможете повернути кошти на локальне залізо, адже у вас ніколи не буде тієї утилізації, яку має OpenAI.
Крім того, OpenAI зараз дуже демпінгує, тобто долари за 50 центів продають вам вони, і нерозумно цим не скористатися.
Ключ 1024/2048/... використовується один раз на сесію, щоб згенерувати сесійний ключ, який набагато коротший і використовується не для криптографії з відкритим ключем, а для звичайного симетричного алгоритму типу AES або аналогічних. Тож розмір цього ключа не дуже впливає на те, з якою швидкістю він буде шифрувати.
Ключ 1024 вам SSH вже навіть не дозволить зробити без руганини :))
Quantum-inspired computations — це можливість побачити деякі задачі з іншого боку. Так, реальні масштабні квантові обчислення можливі лише на квантових пристроях, але деякі задачі не потребують «справжньої 100% суперпозиції», а можуть працювати на «сурогаті», який можна емулювати на класичних пристроях досить ефективно.
У реальних задачах багато фізичних кубітів не є повністю незалежними, значна їх частина додається через фізичні обмеження в можливих зв’язках на існуючих архітектурах та для корекції помилок. Тому на
Насправді навіть теоретично правильна емуляція квантових пристроїв можлива на класичних девайсах, але потребує багато пам’яті, щоб тримати повний набір значень. Тобто вся зараз існуюча теорія про квантові комп’ютери заточена на бінарні задачі, відповідно, для системи на N кубітів вам потрібно зберігати поточну ймовірність кожної з 2**N можливих комбінації «внутрішніх станів» кубітів, і це всього лише 2 флоати на комбінацію.
Тобто системи навіть із 30 кубітів все ще можна абсолютно точно емулювати на звичайному комп’ютері, і це буде потребувати всього лише 16 ГБ пам’яті.
І кожне застосування оператора потребує всього лише 7 complex floating-point операцій на кожному елементі state vector — тобто це 7 * 10**9 операцій, що займає менше секунди на звичайному CPU.
Зрозуміло, що все це зростає експоненційно зі збільшенням кількості кубітів, але твердження, що це фундаментально неможливо, не зовсім правильне :))
Криптографія з відкритим ключем — це концепція, її не можна зламати :) Зламати можна конкретні криптоалгоритми, які використовуються в тій чи іншій реалізації криптографії з відкритим ключем. Наразі є «теоретичні можливості» зламати RSA та ECDSA, але вже існують «quantum-safe» (не підвержені відомим на сьогодні квантовим атакам) реалізації криптографії з відкритим ключем
Які не можна взламати відомими квантовими алгоритмами :)
Ну, це цукерково-букетний період період пройшов. Тепер там залишилися лише ті, хто розуміє, навіщо воно :)
Насправді зараз іде купа ‘quantum inspired’ досліджень, де не використовуються справжні квантові штуки, але використовуються алгоритми, які спочатку були заточені під них, але на GPU також працюють і дають кращу утилізацію, ніж алгоритми, які спочатку були заточені під CPU, а потім адаптовані для GPU :)
D-Wave Systems | The Practical Quantum Computing Company
D-Wave is the only quantum computing company solving real business problems and demonstrating quantum ROI.The Advantage™ system is the first and only quantum computer designed for business. Our 5th generation Advantage quantum computer was built from the ground up with a new processor architecture with over 5,000 qubits and
15-way qubit connectivity, empowering enterprises to solve their largest and most complex business problems.
Ну докажить це
Насправді воно використовує квантові ефекти, просто не зовсім ті і не зовсім так :)
Тобто за рахунок coupler’ів воно дійсно зв’язує стани кубітів між собою, а за рахунок ‘тряски’ отримує тунельний ефект, щоб виходити з локальних мінімумів. Це цілком собі квантові ефекти.
Ну та залізяка, на якій китайці ‘зламали’, по суті не дуже може зламувати, це такий собі акселератор для розв’язання перевизначених систем лінійних рівнянь.
Вони зламували гібридом зі звичайного комп’ютера та
dou.ua/forums/topic/50789 тут трішки детальніше :)
arxiv.org/pdf/2003.00133
Про фізичну топологію annealers
arxiv.org/abs/2406.01743v3
Порівняння annealing vs gate-model
Вибачаюсь, не втримався :)
У цій статті показано, як квантові комп’ютери gate-model, зокрема IBM quantum комп’ютер на 127 кубітів, можуть реально outperform квантові annealers у binary optimization задачах. Це важливий момент, оскільки раніше вважалося, що annealers мають переваги в певних типах optimization задач завдяки їхній простішій архітектурі та меншій кількості шляхів для помилок. Але команда показала, що завдяки кастомним алгоритмам, таким як Quantum Approximate Optimization Algorithm (QAOA), gate-model quantum комп’ютери можуть не тільки наздогнати, а й перевершити annealers у деяких сценаріях.
Annealers, як
Ключовим моментом є те, що QAOA на gate-model quantum hardware використовує гібридний класично-квантовий підхід для оптимізації параметрів алгоритму, що дозволяє отримувати правильні результати навіть у великих системах (до 127 кубітів). У порівнянні з
Таким чином, хоч annealers і мають певні переваги в специфічних випадках, gate-model квантові комп’ютери, завдяки своїй гнучкості та здатності до більш глибокого тюнінгу, починають займати лідируючі позиції в складних задачах бінарної оптимізації. Ця різниця стає особливо помітною в задачах, де потрібна підтримка нелінійних взаємодій і більша точність на великих масштабах.
arxiv.org/pdf/2201.10280
Дехто вважає це практичним результатом :)
«Теоретично правильний компілятор підмножини C» на CoQ + OCaml
Ходять чутки, що AWS S3 також «теоретично перевіряли» за допомогою формальної верифікації.