🎓 1️⃣ JavaScript ile Mini Yapay Zekâ Yapmak (Ama Öyle Havalı Görünsün ki Millet “Vay Be!” Desin)

🎓 1️⃣ JavaScript ile Mini Yapay Zekâ Yapmak (Ama Öyle Havalı Görünsün ki Millet “Vay Be!” Desin)

(Eğlenceli, Öğretici, Sıradışı, Ultra Detaylı Sürüm)

JavaScript ile yapay zekâ mı?
Evet… Üstelik o dev GPU’lara, milyon dolarlık compute gücüne falan gerek yok.

Burada yapacağımız şey:

➡ Basit bir karar verme sistemi +
➡ Akıllıymış gibi davranan ufak algoritmalar +
➡ Güzel süslemeler +
➡ Biraz hava, biraz “beni izleyen var mı?” hissi

= Mini, sevimli ve şaşırtıcı derecede işe yarayan bir yapay zekâ.


💥 Giriş: “Yapay Zekâ Görünümlü JavaScript”

Yapay zekâ dendi mi herkes bir anda ağırlaşıyor:

GPU
Matrix
Tensor
nöronlar
derin öğrenme
pencereye bakıp düşünme…

Ama biz bu yazıda:

⛔ Ne GPU kullanıyoruz
⛔ Ne büyük modeller
⛔ Ne karmaşık matematik

Bizim yaklaşım:
Taklit ederek başlamak! 😄

Yani JavaScript’te karar verme + hafıza + basit tahminler =
“Bu küçük şey gerçekten bir şey biliyor galiba?” dedirten bir yapı.


🧠 1) Mini-Zeka: Basit Bir Karar Sistemi (Decision Engine)

Bizim yapay zekânın beyni burası olacak.

Temel mantık:
AI, aldığı girdiye göre akıllı gibi karar verir.

✔ En basit haliyle:

function miniAI(input) {
  if (input.includes("weather")) {
    return "It looks like a sunny day! ☀️ (I think... I’m not Google.)";
  }
  if (input.includes("love")) {
    return "Love? Hah! Humans are complicated. But I support you ❤️";
  }
  return "Hmm… I'm thinking... 🤖";
}

console.log(miniAI("weather"));

❗ Not:
Bu kod basit görünebilir,
ama doğru sorularla birleştiğinde “AI davranışı” veriyor.


🤯 2) Bir Tık Daha Zeki: Ağırlıklı Cevap Mekanizması

AI gibi görünmesi için cevapları rastgele değil, ağırlıklı seçelim.

✔ Ağırlıklı Rastgelelik

function pickWeighted(options) {
  const total = options.reduce((sum, opt) => sum + opt.weight, 0);
  let r = Math.random() * total;

  for (const opt of options) {
    if (r < opt.weight) return opt.value;
    r -= opt.weight;
  }
}

function moodAI() {
  return pickWeighted([
    { value: "I'm feeling smart today 😎", weight: 4 },
    { value: "Error 404: Brain not found 🤡", weight: 2 },
    { value: "Processing… Hold my JavaScript ☕", weight: 3 },
    { value: "I'm basically ChatGPT, but tiny 👶", weight: 1 }
  ]);
}

console.log(moodAI());

💡 Bu sayede:

➤ Daha sık görünen cevaplar = “AI karakteri”
➤ Daha nadir görünenler = “sürpriz etkisi”


🧠⚙️ 3) Yapay Hafıza Ekliyoruz (Basit Memory System)

Bir AI’nın zeki görünmesinin %50’si:
Daha önce söylediğini hatırlaması.

Bunu da yapıyoruz😄

const memory = [];

function aiWithMemory(input) {
  memory.push(input);

  if (memory.length > 5) memory.shift(); // hafızayı sınırladık

  return {
    reply: "I remember you said: " + memory.join(", "),
    memory: [...memory]
  };
}

console.log(aiWithMemory("Hello AI"));
console.log(aiWithMemory("How are you?"));
console.log(aiWithMemory("Do you like pizza?"));

Bu yapay zekânın söylediği:

✔ geçmişteki mesajlarına atıf yapar
✔ insanımsı görünür
✔ “vay be hatırlıyor!” etkisi yaratır


🔮 4) Basit Bir Tahmin Sistemi Ekliyoruz (Prediction Engine)

Elimizdeki girdiye göre tahmin yapan ufak bir model yazıyoruz.

Bu tamamen JavaScript’te heuristik bir yapı:

function predictUserIntent(message) {
  const msg = message.toLowerCase();

  if (msg.includes("time")) return "You want to know the time ⏰";
  if (msg.includes("food")) return "You're hungry, go eat darling 🍕";
  if (msg.includes("love")) return "You're emotional today ❤️";
  if (msg.includes("js")) return "Ah yes, JavaScript nerd detected 🤓";

  return "You're thinking about… something mysterious 👀";
}

console.log(predictUserIntent("What's the best JS course?"));

Tahmin sistemi = “Ben senin ne düşündüğünü biliyorum” efekti.


🎨 5) Yapay Zekâyı Havalı Görünür Yapıyoruz (Animasyon + UI Efekti)

Bir AI’nın %70’i:
Görünüşü.

Hollywood gerçekleri:
Beyni değil, efektleri satıyor 😄

✔ CSS ile “düşünen AI” efekti:

<div class="thinking"></div>

<style>
.thinking {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: cyan;
  animation: pulse 0.8s infinite alternate;
  margin: 20px auto;
}

@keyframes pulse {
  from { opacity: 0.3; transform: scale(1); }
  to   { opacity: 1;   transform: scale(1.4); }
}
</style>

Bu tek baloncuk,
“AI düşünüyor…” ambiyansını yaratıyor.


🧩 6) Tümünü Birleştiriyoruz: Mini AI Uygulaması

Mini AI’miz:

✔ girdiye göre karar veriyor
✔ hafızası var
✔ tahmin yapıyor
✔ animasyonlu UI’si var
✔ cevapları ağırlıklı belirliyor
✔ karizmatik 😎

✔ İşte tam sürüm:

const memory = [];

function miniAI(input) {
  memory.push(input);
  if (memory.length > 5) memory.shift();

  const mood = pickWeighted([
    { value: "😎", weight: 4 },
    { value: "🤖", weight: 3 },
    { value: "🧠", weight: 2 },
    { value: "🤡", weight: 1 }
  ]);

  const prediction = predictUserIntent(input);

  return `
${mood} AI Response:
${prediction}
Memory: ${memory.join(" | ")}
  `;
}

function pickWeighted(options) {
  const total = options.reduce((sum, o) => sum + o.weight, 0);
  let r = Math.random() * total;

  for (const o of options) {
    if (r < o.weight) return o.value;
    r -= o.weight;
  }
}

function predictUserIntent(msg) {
  msg = msg.toLowerCase();

  if (msg.includes("love")) return "You're asking about love again huh 😏❤️";
  if (msg.includes("js")) return "JavaScript detected! Respect 🤝";
  if (msg.includes("pizza")) return "Pizza mood activated 🍕";
  if (msg.includes("weather")) return "Let me guess… you're checking weather? ☀️";

  return "Hmm… hard to guess, but I'm trying 👀";
}

console.log(miniAI("I want pizza"));
console.log(miniAI("I love JavaScript"));
console.log(miniAI("What's the weather?"));


💡 7) Ultra Pratik İpuçları (Gerçekten İşine Yarar)

✔ 1) AI’yı kişilikli yap

Her AI’nın bir karakteri olmalı:

enerjik
asabi
bilge
flörtöz
şakacı

Biri seç → cevaplarını ona göre ayarla.


✔ 2) Cevap varyasyonu ekle

Aynı cevabı asla iki kere verme.
AI tekdüze görünür.


✔ 3) Yanlış tahminlere komik bahaneler ekle

“Oops, my circuits glitched 😅”


✔ 4) Mini AI’ya “typing delay” ekle

Gerçek AI hissi verir:

function typeDelay(ms) {
  return new Promise(res => setTimeout(res, ms));
}


✔ 5) Web Speech API ile konuştur (İsterse)

AI konuşmaya başlıyor

Comments

No comments yet. Why don’t you start the discussion?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir