Kuantum hesaplamalar python ile hespalıyalım mı ?

nt

Emekli
Katılım
21 Nisan 2023
Mesajlar
1,215
Selam gerçekten uykusuz kalmama değecek bir konu buldum

Kuantum hesaplama ? :( (quantum computing)

kuantum mekaniğini temel alan bir hesaplama paradigmadır.
Geleneksel bilgisayarlar, bit adı verilen temel veri birimlerini kullanırken,
kuantum bilgisayarlar kuantum bit veya kısaca kubit adı verilen birimleri kullanır.

shor algoritması hakkında ders veremem ama size bu işlemi nasıl kolayca kullanabliriz onu göstericeğim

Shor algoritması :https://tr.wikipedia.org/wiki/Shor_algoritması

şimdi pythonla basit bir şekilde bu değerleri görecek hesapları yapalım
temel mantığını kullanarak belirli bir değeri çarpanlarına ayırmak için olası periyotları bulur
bunu nasıl anlarız kullanırız basit bir örnek veriyorum umarım işinize yarar
bir kaç algoritma baktım bunların basında shor ve grover geliyor

shor hesap:
import numpy as np
import pandas as pd
def shor_algorithm(N, a):
    x_values = np.arange(0, N)
    periodicity = np.mod(a ** x_values, N)
    period_df = pd.DataFrame({'x': x_values, 'a^x mod N': periodicity})
    periods = period_df.groupby('a^x mod N')['x'].apply(list)
    return periods
N = 32
a = 3
periods = shor_algorithm(N, a)
print("Possible Periods:")
print(periods)
kodumuz : shor_algorithm adında bir fonksiyon tanımlıyor. Bu fonksiyon, Shor algoritmasının temel mantığına uygun olarak belirli bir değeri çarpanlarına ayırmak için olası periyotları buluyor.
shor hesap çıktısı:
a^x mod N
1      [0, 4, 8, 12]
4     [2, 6, 10, 14]
7      [1, 5, 9, 13]
13        [3, 7, 11]
(Burada bir döngü başlamamıştır,)

başka bir imkanımız qiskit algoritmaları kullanarak simüle edebiliriz kuantum işlemci yoksa varsa hayırlı işler :D

bu kütüphane sayesinde kuantum çekirdekleri kodlayabilirsiniz hemde benim bu mesajı yazmamdan daha kısa bir kod ile
QFT bunu tersine çerirme gibi bilimum hesabı yapar
ve bir çokk algoritmayı bir satırda kullanabilirsiniz
bunun için "pip install qiskti"
 
Son düzenleme:
Sizce forumda bir kuantum bilgisayar bulunuyor mu?
ben @Sercan abiden cıkar diye düşünüyorum :D

sıra groverde bunun wikide türkçesi olmamakla birlikte bu algoritmamız kuantum bilgisayarlar içindir
kuantum cekirdek programlama alanına özel bir örnek olarak düşünülebilir.

Veritabanındaki işaretli öğeleri bulmak için kullanılır.

grovere gelmeden bunun ana bileşeni olan iki algoritmadan bahsetmek istiyorum

orace devresi :
[imath]Uf∣x⟩=(−1)f(x)∣x⟩[/imath]
işaretli öğeleri tanımlayarak, bu öğelerin fazını tersine çevirir.
Grover algoritmasında, işaretli öğeleri bulmak için kullanılır ve amplitüd amplifikasyonu adımında etkilidir.

hadamar kapısı :https://en.wikipedia.org/wiki/Hadamard_transform
[imath]H = \frac{1}{\sqrt{2}} \left( \begin{array}{cc} 1 & 1 \\ 1 & -1 \end{array} \right)[/imath]
bir qubiti süperpozisyona sokar ve diğer qubitlere etkileşim ekler. Grover algoritmasında,
Hadamard kapıları süperpozisyon durumu oluşturmak ve amplitüd amplifikasyonunu gerçekleştirmek için kullanılır.

Diyelim ki bir kuantum bilgisayarı, bir veritabanında belirli bir öğeyi bulmaya çalışıyor. Amplitüd amplifikasyonu, bu bilgisayarın belirli bir öğeyi içeren durumu daha olası hale getirmesine yardımcı olur.
kuantum bilgisayarı arama yaparken, istediği sonuca daha hızlı ve etkili bir şekilde ulaşabilir.

Grover algoritması çekirdeğini kullanarak işaretli öğeleri bulan basit bir kuantum algoritması örneği kodlıyalım
Grover Algo:
import numpy as np
import pandas as pd

def grover_algorithm(database):
    """
    Grover algoritması çekirdeği.
 
    Parameters:
        - database (pd.DataFrame): İşlem yapılacak veritabanı, 'Items' ve 'Marked' sütunlarına sahip.

    Returns:
        - pd.DataFrame: İşlem sonucunda belirlenen öğeler.
    """
    marked_items = database[database['Marked'] == True]
    return marked_items
items = ['000', '001', '010', '011', '100', '101', '110', '111']
marked_items = ['110']
database = pd.DataFrame({'Items': items, 'Marked': [item in marked_items for item in items]})
result = grover_algorithm(database)
print("\nGrover Algoritması:")
print("Grover algoritması, kuantum bilgisayarlar tarafından kullanılan bir arama algoritmasıdır.")
print("Veritabanındaki işaretli öğeleri bulmak için kullanılır.")
print("\nÖrnek Veritabanı:")
print(database)
print("\nİşaretli Öğelerin Aranması:")
print("Burada, '110' işaretli bir öğedir.")
print("\nGrover Algoritması Sonuçları:")
print("İşaretli Öğeler:")
print(result)

Kodun ana amacı grover algoritmasını kullanarak işaretli öğeleri bulmaktır.
grover_algorithm adlı bir fonksiyon tanımlanır bir veritabanını parametre olarak alır ve işlem sonucunda belirlenen öğeleri içeren bir DataFrame döndürür.

Bash:
~$ /grover1.py

Grover Algoritması:
Grover algoritması, kuantum bilgisayarlar tarafından kullanılan bir arama algoritmasıdır.
Veritabanındaki işaretli öğeleri bulmak için kullanılır.

Örnek Veritabanı:
  Items  Marked
0   000   False
1   001   False
2   010   False
3   011   False
4   100   False
5   101   False
6   110    True
7   111   False

İşaretli Öğelerin Aranması:
Burada, '110' işaretli bir öğedir.

Grover Algoritması Sonuçları:
İşaretli Öğeler:
  Items  Marked
6   110    True
 
Son düzenleme:

Forum istatistikleri

Konular
5,915
Mesajlar
100,909
Üyeler
2,501
Son üye
oguz0606

Son kaynaklar

Son profil mesajları

Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
Back
Top